首页
社区
课程
招聘
[求助]子窗口控件是否有消息循环?
发表于: 2008-11-23 19:34 7436

[求助]子窗口控件是否有消息循环?

2008-11-23 19:34
7436
請問子窗口控件是否有消息循环?

如果有的話,那么子窗口控件和父窗口必須在不同的线程,但事實上并不是這樣的.
不然就有兩個
while(GetMessage(&msg,NULL,0,0)>0)
{
      TranslateMessage(&msg);
      DispatchMessage(&msg);
}

如果沒有的話,那子窗口是如何處理窗口消息的,他是如何知道向父窗口發送不同的WM_COMMAND
消息的??????

想不通啊

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 272
活跃值: (143)
能力值: ( LV15,RANK:930 )
在线值:
发帖
回帖
粉丝
2
消息循环属于线程,而不属于某个窗口。。
2008-11-23 19:36
0
雪    币: 267
活跃值: (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
如果一個你窗口上有個 按扭控件,當我在按扭上 单击左鍵  

操作系統是如何知道調用 按扭的 WindowProc的,而不是主窗口的WindowProc的???

while(GetMessage(&msg,NULL,0,0)>0)
{
   if(msg.message==WM_LBUTTONDOWN && msg.hwnd==hButton)
        MessageBox(NULL,"ok","test",MB_OK);
      TranslateMessage(&msg);
      DispatchMessage(&msg);
}

哦,我明白了,謝謝!!!!!!!!!!!!
2008-11-23 19:52
0
雪    币: 272
活跃值: (143)
能力值: ( LV15,RANK:930 )
在线值:
发帖
回帖
粉丝
4
消息发生后递送给目标窗口所属线程的消息队列,当下次消息循环成功取走消息后,在DispatchMessage函数中,呼叫目标窗口的wndproc过程
2008-11-23 20:44
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
推荐lz阅读<windows核心编程>里面“windows窗口"这一章,对消息队列、线程和消息循环讲得很透
2008-11-24 20:16
0
游客
登录 | 注册 方可回帖
返回
//