none
如何实现,利用VS2013中c++的CLR制作出windows窗体的滑动切换效果 RRS feed

  • 问题

  • 在用VS2013的CLR/c++设计winform,想通过C++语言制作出窗体切换时的滑动效果。在窗体上放置button,写入事件,想在调用新窗体的时候,窗体间的切换产生滑动的效果,就像是窗体从一边出现,滑动覆盖上一个窗体。希望可以得到帮助,谢谢
    2015年1月15日 17:26

答案

  • 你好:

         你可以用AnimateWindow win32 API 来实现这样的效果。

         创建两个form, 初始显示位置为屏幕中央。

    		[DllImport("user32.dll")]
    		static bool AnimateWindow(IntPtr hwnd, int time, UInt32 flags);
    		//const int SM_DIGITIZER = 94;
    		const int AW_SLIDE = 0X40000;
    		const int AW_HOR_POSITIVE = 0X1;
    		const int AW_HOR_NEGATIVE = 0X2;
    		const int AW_BLEND = 0X80000;

    在按钮事件里

     	NewForm^ form2 = gcnew NewForm();
    	AnimateWindow(form2->Handle, 500, AW_SLIDE | AW_HOR_POSITIVE);
    	form2->Show();
    	form2->Activate();

    你可以试一下。

    Shu Hu


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    • 已标记为答案 Shu 2017 2015年1月22日 8:59
    2015年1月16日 4:42