使窗口实现“淡入淡出”效果(非原创)

         使窗口逐渐浮现,退出时逐渐消失,这主要是通过设置增强窗口样式为图层窗口,然后设置窗口的alpha值来实现的。在c#中,对应的是Form.Opacity属性。这是老外的一篇帖子里面提到的,但我对代码做了一些改进,使代码更为直观易用。
         实现窗口的“淡出”,我们需要在创建窗口时指定窗口样式,这可以在窗口过程中创建或者初始化消息中处理,对于对话框程序,代码如下:
Code-WndProc

         实现窗口的“淡入”效果的代码如下,在WinMain函数中,我们使用如下代码:
        
Code-WinMain

          ===================================

                    补充 by hoodlum1980 2008年12月22日18:40:30

          ===================================

          另外,不使用图层窗口,可以使用 AnimateWindow 这个 API 函数来完成类似功能:

          例如:AnimateWindow(hDlg, 200, AW_HIDE | AW_BLEND); //使窗口渐隐。

原文地址:https://www.cnblogs.com/hoodlum1980/p/1058376.html