W
wangergulei
Unregistered / Unconfirmed
GUEST, unregistred user!
是这样的,我的一个界面上放了一个pagecontrol,然后在程序运行时,
自动创建tabsheet,但是在运行的时候,经常会出现一个问题,就是:
当点击tabsheet的页头的时候,页头上可以看见,是把我点击的tabsheet
设成了activepage,而且如果调用也可以发现确实是我点击的tabsheet为
当前激活的tabsheet,可是显示出来的,却还是之前那个tabsheet的页面
上的东西。如果这时直接点击页面里,会提示点击的是不可见的控件。
但是,如果我把程序最小化再最大化一遍(我的程序上放有托盘组件,
该托盘组件的最小化最大化代码如下:
procedure ReShowMainForm;
begin
if Application.MainForm <> nil then
begin
// Show application's TASKBAR icon (not the traybar icon)
ShowWindow(Application.Handle, SW_RESTORE);
//ShowWindow(Application.Handle, SW_SHOWNORMAL);
//Application.Restore;
// Show the form itself
Application.MainForm.Visible := True;
//ShowWindow((Owner as TWinControl).Handle, SW_RESTORE);
end;
end;
procedure MinimizeMainForm;
begin
if Application.MainForm <> nil then
begin
// Hide the form itself (and thus any child windows)
Application.MainForm.Visible := False;
{ Hide application's TASKBAR icon (not the traybar icon).
Do this AFTER the mainform is hidden, or any child windows
will redisplay the taskbar icon if they are visible. }
ShowWindow(Application.Handle, SW_HIDE);
end;
end;)
在做过这么一遍操作后,显示在我眼前的,就是真实的tabsheet页面上的东西了。
所以疑问来了,到底窗体在ShowWindow的时候做了哪些操作呢?
各位富翁,请问谁知道,教导我一下吧,我已经被这个问题给难了好长时间了。
多谢。
自动创建tabsheet,但是在运行的时候,经常会出现一个问题,就是:
当点击tabsheet的页头的时候,页头上可以看见,是把我点击的tabsheet
设成了activepage,而且如果调用也可以发现确实是我点击的tabsheet为
当前激活的tabsheet,可是显示出来的,却还是之前那个tabsheet的页面
上的东西。如果这时直接点击页面里,会提示点击的是不可见的控件。
但是,如果我把程序最小化再最大化一遍(我的程序上放有托盘组件,
该托盘组件的最小化最大化代码如下:
procedure ReShowMainForm;
begin
if Application.MainForm <> nil then
begin
// Show application's TASKBAR icon (not the traybar icon)
ShowWindow(Application.Handle, SW_RESTORE);
//ShowWindow(Application.Handle, SW_SHOWNORMAL);
//Application.Restore;
// Show the form itself
Application.MainForm.Visible := True;
//ShowWindow((Owner as TWinControl).Handle, SW_RESTORE);
end;
end;
procedure MinimizeMainForm;
begin
if Application.MainForm <> nil then
begin
// Hide the form itself (and thus any child windows)
Application.MainForm.Visible := False;
{ Hide application's TASKBAR icon (not the traybar icon).
Do this AFTER the mainform is hidden, or any child windows
will redisplay the taskbar icon if they are visible. }
ShowWindow(Application.Handle, SW_HIDE);
end;
end;)
在做过这么一遍操作后,显示在我眼前的,就是真实的tabsheet页面上的东西了。
所以疑问来了,到底窗体在ShowWindow的时候做了哪些操作呢?
各位富翁,请问谁知道,教导我一下吧,我已经被这个问题给难了好长时间了。
多谢。