首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

怎么在循环中让窗口句柄响应消息

2012-12-24 
如何在循环中让窗口句柄响应消息自己写的类,在内部用AllocateHWnd注册了一个窗口句柄在某个函数中,要等待

如何在循环中让窗口句柄响应消息
自己写的类,在内部用AllocateHWnd注册了一个窗口句柄
在某个函数中,要等待某个状态后才返回,于是用到了while

while status <> 0 do;

现在问题是,在while的时候,其他地方没法响应消息,没法处理这个status
导致这个循环变成了死循环,显然这里是不能用Application.ProcessMessages的

不知道有什么简单有效的解决方法?
[最优解释]
用事件对象。
"while status <> 0 do;" 换成 "WaitForSingleObject(事件对象句柄, INFINITE)".
接收到消息改变status的时候调用SetEvent,这样WaitForSingleObject就返回了。
[其他解释]
uses Windows;
var msg:Tmsg;
GetMessage(msg,0,0,0);
[其他解释]
用多线程的方法吧。
[其他解释]
uses Windows

热点排行