mdi 程序问题请教,没分了,谢谢大家(10分)

  • 主题发起人 主题发起人 alex三角猫
  • 开始时间 开始时间
A

alex三角猫

Unregistered / Unconfirmed
GUEST, unregistred user!
父窗体如何获得子窗体关闭的消息或事件?
 
大家快来帮忙啊,我很急,谢谢
 
在 onclose 事件中写
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
 
要在MDI窗体的ClientWindow中拦截消息
1.:在Form1的Private中定义:
FClientInstance,
FPrevClientProc : TFarProc;
PROCEDURE ClientWndProc(VAR Message: TMessage);
2.:在实现(implementation)中加入上述过程的具体内容:
PROCEDURE TForm1.ClientWndProc(VAR Message: TMessage);
VAR
MyDC : hDC;
Ro, Co : Word;
begin
with Message do
case Msg of
///你需要的消息
CallWindowProc(FPrevClientProc, ClientHandle, Msg, wParam, lParam);
end;
end;
3.:在Form1的创建事件中加入:
FClientInstance := MakeObjectInstance(ClientWndProc);
FPrevClientProc := Pointer(GetWindowLong(ClientHandle, GWL_WNDPROC));
SetWindowLong(ClientHandle, GWL_WNDPROC, LongInt(FClientInstance));

也可以参考delphi5开发人员手册
 
问的时候这么着急,人家回了,怎么就没反应了呢?解决了吗?
 
还没解决,不过改用其他方法了,谢谢大家
 
后退
顶部