我希望对话框在启动显示以后,自动完成一定得功能,
我在OnInitDialog中post一个自定义得消息,
但是发现该消息得响应函数执行以后,才显示对话框.
我希望在对话框显示以后,再执行我要完成得功能,
请问该如何处理.2 对于wm_paint消息,系统得处理是不是有特殊得地方.
msdn中说The system sends this message when there are no other messages in the application's message queue. 是不是如果消息队列中还有其它得消息,系统就
不发送此消息了,如果我希望时序得处理如下消息:消息A,wm_paint,消息B,
又该如何来实现呢?谢谢!!
我在OnInitDialog中post一个自定义得消息,
但是发现该消息得响应函数执行以后,才显示对话框.
我希望在对话框显示以后,再执行我要完成得功能,
请问该如何处理.2 对于wm_paint消息,系统得处理是不是有特殊得地方.
msdn中说The system sends this message when there are no other messages in the application's message queue. 是不是如果消息队列中还有其它得消息,系统就
不发送此消息了,如果我希望时序得处理如下消息:消息A,wm_paint,消息B,
又该如何来实现呢?谢谢!!
2、为什么不可以用其它消息代替wm_paint,如果非要的话。在线程中延时发送三个消就不会有问题。有延时系统就有时间可以处理消息了。
可以用定时器实现:
SetTimer();
2on_paint当队列中没消息时,也就是在空闲时间时OnIdle();系统调用这个消息完成窗口的重画,如果你接触过游戏编程,你也会发现很多人物,场景的更新就是在空闲时间进行的;
如下:
if(PeekMessage(&msg, wparam,lparam)//取消息,没有就返回NULL
{
TranslateMesage(&msg);
DispatMessage(&msg);
}
else
{OnIdle();}
创建线程也可以实现,看你有没有那本事了
在一个存盘得时候,弹出对话框,显示进度条.最后得界面类似于安装软件时得进度条.
要存盘得内容是在对话框显示之前就构造好了得.SetTimer得方法不可取.高手们还有没有除了创建一个线程以外得其它得方法.