关于窗体显示,看有没有比较好的方法! 想实现以下效果: 有一个主窗体Form1,和一个子窗体Form2,form2不是自动创建的。现在的要求是,程序启动时动态创建子窗体Form2,并使得Form2显示在最前面而且要获得焦点。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以在第一个窗体的SHOW事件里创建第二个窗体,并设置第二个窗体formstyle:=fsStayOnTop; 大家先试试再回答好不好。要是这么简单就能解决问题,我就不会问了。formstyle:=fsStayOnTop只能保证Form2会出现在前面,但是不能获得焦点。还有,我并不想让Form2总是在前面,所以这句话不能要。 为什么不用一个 Panel 呢? //为什么不用一个 Panel 呢?我需要的是两个窗体,不是一个窗体上的panel,没人知道么? 为什么 不把Form2作为主窗体呢?在Show里加Form1呢?? var Form1: TForm1; MM:Boolean; //定义一个全局变量implementation...procedure TForm1.FormActivate(Sender: TObject);begin if MM then begin Form2.Show; MM:=false; end;end;Initialization MM:=true; //初始化...散分吧~~ 呵呵,楼上的方法我早就考虑过了,还有一个变通的方法就是用time控件,这些我都试过,不然我也不会问“又没有比较好的方法”了。你也知道,FormActivate这个事件会经常调用的。所以我不想这么做。再等等看,实在不行,可能要修改vcl的源代码了。 在form1的onshow事件中 showwindow(handle,sw_normal); f2:=tform2.Create(self); f2.Show; 呵呵,我怎么就没想到在form1上做文章呢,接受答案。 TXMLDocument生成xml问题 在Delphi中判断用户是否有超期未还的书本 TADOCommand执行存储过程中遇到的问题! 消费机实时通讯的速度问题~ 如何读取、显示AutoCAD的DXF文件? 一道逻辑性很强的题!我得出了一个答案,不知你的是什么,世界上有98%的人答不出来 ! 有高手能解决这个问题吗???(Delphi版) 如何重新编译Delphi的单元?? delphi操作excel表的一个问题?求助 数据库在DELPHI出错几次后,就没法在正常运行 求数据库存储多媒体的例子 哪个公司的语音卡好?急
还有,我并不想让Form2总是在前面,所以这句话不能要。
没人知道么?
Form1: TForm1;
MM:Boolean; //定义一个全局变量
implementation
...
procedure TForm1.FormActivate(Sender: TObject);
begin
if MM then
begin
Form2.Show;
MM:=false;
end;end;Initialization
MM:=true; //初始化
...
散分吧~~
这些我都试过,不然我也不会问“又没有比较好的方法”了。你也知道,FormActivate这个事件会经常调用的。所以我不想这么做。再等等看,实在不行,可能要修改vcl的源代码了。
showwindow(handle,sw_normal);
f2:=tform2.Create(self);
f2.Show;