读书人

窗体被覆盖后重新激活会驱动什么事

发布时间: 2012-04-06 12:22:24 作者: rapoo

窗体被覆盖后,重新激活,会驱动什么事件
A窗体,激活模态窗体B,当B消失后,会激活什么事件呢?我使用了,如下的方法都不行

Delphi(Pascal) code
procedure Tfrm_DeviceData.FormPaint(Sender: TObject);begin    ShowMessage('ww');end;procedure Tfrm_DeviceData.FormActivate(Sender: TObject);begin   ShowMessage('ww');end;procedure Tfrm_DeviceData.FormResize(Sender: TObject);begin   ShowMessage('ww');end;


使用了上面三种方法,当模态窗体B消失,没有跳出showmessage,

[解决办法]
这种情况你加个窗体的返回值里执行窗体的代码
B := TB.Create(Application);
if B.ShowModal <> mrok then
begin
//你关闭窗口时这里将执行
end;
[解决办法]
探讨
Delphi(Pascal) code

procedure Tfrm_DeviceData.FormPaint(Sender: TObject);
begin
ShowMessage('ww');
end;

procedure Tfrm_DeviceData.FormActivate(Sender: TObject);
begin
ShowMessage('ww……

[解决办法]
只要A在屏幕上显示区域大小发生改变onPaint就一定触发(不管是在背后还是在前面,还是半遮着)
Activate是变成当前活动的窗体才触发
Resize是窗体的大小尺寸发生改变就触发

读书人网 >.NET

热点推荐