A窗体,激活模态窗体B,当B消失后,会激活什么事件呢?我使用了,如下的方法都不行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,
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,
解决方案 »
- 请教一个关于DBGrid的问题...
- 很简单的代码,帮忙看看怎么写比较稳定
- ADOConnection的Connected属性设置为false,程序只对ADODATASET打开操作,为什么也能连接成功?
- 怎么样删除文件夹和里面的所有文件
- 在线急,一个关于打包的问题?
- 如何对checkbox和RadioGroup1进行判断?
- 开发数据库的人都会看到的问题
- treeview结点怎么设置选中?
- ------------------iBear(大熊)大哥,再次请进!麻烦您了--------------------
- 各位大侠,create(nil), create(application),create(self),create(tfrom)是什么,恳请讲解
- delphi中^符号的意思
- DataSnap客户端用clientdataset执行insert语句,数据进去了,但提示cursor not returned from query
begin
ShowMessage('ww');
end;procedure Tfrm_DeviceData.FormActivate(Sender: TObject);
begin
ShowMessage('ww');
end;
这些都是 B出现 激活的消息 刚好相反
B := TB.Create(Application);
if B.ShowModal <> mrok then
begin
//你关闭窗口时这里将执行
end;
if form2.showmodal <> mrNone then
begin
ShowMessage('aa');
end;
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;上面是A窗体激活的代码,当B窗体消失的时候,A不是重新显示了嘛,理论上窗体应该会重绘之类的,但是没有发生上面三个事件中的一个,为什么
上面是A窗体激活的代码,当B窗体消失的时候,A不是重新显示了嘛,理论上窗体应该会重绘之类的,但是没有发生上面三个事件中的一个,为什么因为 B消失后 不一定就会轮到A窗体 也许是C窗口 你的系统不止一个进程 也不止一个窗口
但是A重绘是不是一定发生的呢?如果发生,应该要触发的,是不?难道重绘不是分特定窗体的,比如我A窗体也是主窗体中的一个,那比如先主窗体重绘,然后A就不用重绘了吗
Activate是变成当前活动的窗体才触发
Resize是窗体的大小尺寸发生改变就触发
B := TB.Create(Application);
if B.ShowModal <> mrok then
begin
//你关闭窗口时这里将执行
end;
这个我已经知道,只是不明白,为什么没有触发OnPaint事件
你先了解下windows的消息系统处理先窗体重绘才会触发OnPaint事件 你的那个窗体重绘也吗? 你确定?