小问题-为什么我的窗口不能隐藏?(50分)

  • 主题发起人 主题发起人 tianyu1398
  • 开始时间 开始时间
T

tianyu1398

Unregistered / Unconfirmed
GUEST, unregistred user!
我把窗口的visible设为false,可是启动程序后还是可以看到窗口,是为什么呢?
 
检查一下是不是有调用Show或是ShowModal的地方
 
没有呀,我就是注册了几个热键,用了一个
SetWindowLong(Application.Handle,GWL_EXSTYLE,WS_EX_TOOLWINDOW);
//让程序不出现在任务栏.
麻烦大家给想想.
 
主窗体不能false吧
 
哦,那么怎么隐藏主窗体呢?我用了showwindow()也不行呀.
 
可以隐藏主窗口的,如果用botton事件马上就可以隐藏窗口了,可是就是不能在启动的时候
隐藏窗口.麻烦各位高手给看看.
 
能不能在创建了窗体后,截获它的onshow事件
 
呵呵,我在csdn已经得到答案了.麻烦各位了.答案如下:
你的项目文件应该类似如下:
...
Application.Initial;
Application.CreateForm(TForm1,Form1);
...
Application.Run;

在Application.Initial;下面加一句
Application.ShowMainForm:=false;
 
简单,学了一招
 
tianyu1398 你做的应该是MDI,如果要将窗体隐藏,必须用FREE,
再次显示的时候用CREATE
 
to 吉祥鸟:
你说的应是MDI子窗体吧,在DELPHI中MDI子窗体是不能Hide的(在VB中可以),
实际要Hide也可以,不用FREE,只要用API函数ShowWindow就可以了。
 
showwindow如何使用?能具体说说吗?
再有如果用Free释放窗体,用Create如何显示窗体?
 
showwindow(Application.handl, SW_HIDE //下面列出了其它的参数,可看看)
***************************
{$EXTERNALSYM SW_HIDE}
SW_HIDE = 0;
{$EXTERNALSYM SW_SHOWNORMAL}
SW_SHOWNORMAL = 1;
{$EXTERNALSYM SW_NORMAL}
SW_NORMAL = 1;
{$EXTERNALSYM SW_SHOWMINIMIZED}
SW_SHOWMINIMIZED = 2;
{$EXTERNALSYM SW_SHOWMAXIMIZED}
SW_SHOWMAXIMIZED = 3;
{$EXTERNALSYM SW_MAXIMIZE}
SW_MAXIMIZE = 3;
{$EXTERNALSYM SW_SHOWNOACTIVATE}
SW_SHOWNOACTIVATE = 4;
{$EXTERNALSYM SW_SHOW}
SW_SHOW = 5;
{$EXTERNALSYM SW_MINIMIZE}
SW_MINIMIZE = 6;
{$EXTERNALSYM SW_SHOWMINNOACTIVE}
SW_SHOWMINNOACTIVE = 7;
{$EXTERNALSYM SW_SHOWNA}
SW_SHOWNA = 8;
{$EXTERNALSYM SW_RESTORE}
SW_RESTORE = 9;
{$EXTERNALSYM SW_SHOWDEFAULT}
SW_SHOWDEFAULT = 10;
{$EXTERNALSYM SW_MAX}
SW_MAX = 10;

=========》》
free 后窗体,要建立才能显示。
如:
form1:=Tform1.creat(self);
form1.show//显示出来了。
 
后退
顶部