从TThread可以直接收消息啊 其他线程给它发送PostThreadMessage线程内部处理: 先检查消息 PeekMessage然后 if msg.hwnd <> 0 then begin TranslateMessage(msg); DispatchMessage(msg); end;最后 case msg.message of ....{处理代码}
还是不太理解, if msg.hwnd <> 0 then begin TranslateMessage(msg); DispatchMessage(msg); end; 这段代码应该放在哪个函数中,Execute还是WindowProc?那dispatchmessage之后,哪个函数会被调用去处理呢?WindowProc? 一头雾水,呵呵
FHWnd := AllocateHWnd(CommWndProc);
用FHWnd接收消息或者你从TWinControl继承
其他线程给它发送PostThreadMessage线程内部处理:
先检查消息 PeekMessage然后
if msg.hwnd <> 0 then
begin
TranslateMessage(msg);
DispatchMessage(msg);
end;最后
case msg.message of
....{处理代码}
if msg.hwnd <> 0 then
begin
TranslateMessage(msg);
DispatchMessage(msg);
end;
这段代码应该放在哪个函数中,Execute还是WindowProc?那dispatchmessage之后,哪个函数会被调用去处理呢?WindowProc?
一头雾水,呵呵