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

窗体被覆盖后,重新激活,会驱动什么事件,该如何解决

2012-04-06 
窗体被覆盖后,重新激活,会驱动什么事件A窗体,激活模态窗体B,当B消失后,会激活什么事件呢?我使用了,如下的

窗体被覆盖后,重新激活,会驱动什么事件
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是窗体的大小尺寸发生改变就触发

热点排行