今天需要在工程中实现如题的功能,baidu了好多方法,有的根本行不通、有的说不能实现、有的给的方法时将对话框最小化、有的则是结果有闪烁.......都不尽如人意。
后来,我将对话框先最小化在隐藏,发现结果相当令人满意,只是桌面的任务栏有轻微闪烁,不注意不会感觉到。
方法如下:
在工程对话框类中响应WM_CREATE消息,在消息函数中使用SetWindowPos()函数最小化对话框:SetWindowPos(NULL,0,0,0,0,SWP_HIDEWINDOW );完成后再调用PostMessage(WM_SYSCOMMAND)向对话框发送系统消息;重载WindowProc函数,在函数中定义静态变量static int flag =0并捕获WM_SYSCOMMAND,在响应系统消息的语句块中执行判断语句:if(flag == 0)则隐藏对话框并设置变量为非零。完。
让程序在系统托盘上显示一个图标的例子网上有很多,这里就不说了。希望本人的方法能为你所用,不过我更希望只成为你的参考资料。因为先最下化然后隐藏的方法有很多中组合!