SDK编程父子窗口共用一个消息循环队列吗
如果有WndProc和ChildWndProc两个窗口过程,那WndProc和ChildWndProc共用一个while(GetMessage(&msg,NULL,0,0...
如果有WndProc和ChildWndProc两个窗口过程,那WndProc和ChildWndProc共用一个
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
消息循环吗? 这个GetMessage函数如何区分两个窗口过程函数的消息
(就是《windows程序设计》书上CHECKER3那段) 展开
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
消息循环吗? 这个GetMessage函数如何区分两个窗口过程函数的消息
(就是《windows程序设计》书上CHECKER3那段) 展开
1个回答
展开全部
一个程序只有一个消息循环。但可以写多个窗口,也允许有一个主的窗口回调和多个子的窗口回调。写多个窗口这就不用说了,可以在WM_CREATE中创建子窗体控件之类的。那么每一个窗体(控件也是一种窗体)都会有一个回调。只不过没有显示的地址。你可以能过一个函数SetWindowLong这个函数GWL_WNDPROC这个标志来改变一个窗体的回调地址。这样指向你程序中指定的一个函数,那你就可以对这个窗体的回调进行控制了。这种技术叫窗口子类,你说的那本书上有介绍
另外如何区分的。就是句柄啊。句柄是用来标识不同的窗体的。一个窗体有唯一的一个句柄号MSG的结构体中就有这个字段
另外如何区分的。就是句柄啊。句柄是用来标识不同的窗体的。一个窗体有唯一的一个句柄号MSG的结构体中就有这个字段
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询