【发布时间】:2011-10-09 13:18:51
【问题描述】:
我刚刚在我的 Delphi 应用程序中发现了一个奇怪的错误。当我运行应用程序时,任务栏会显示图标,但我必须按下它才能显示表单。通过在 OnShow 事件中设置断点,我发现当我点击任务栏上的图标时,正在触发 OnShow 事件。
另外,当我使用Hide;时,表单隐藏了,但任务栏图标没有消失,但是当我点击它时,表单不再显示(这是重点,但任务栏图标不应该隐藏时在那里)。
这是我的项目文件源,以防可能与它有关:
var
PreviousHandle : THandle;
begin
PreviousHandle := FindWindow('TfrmMain',APP_CAPTION);
if PreviousHandle = 0 then
Begin
Application.Initialize;
// So my Log and Mainform can overlap each other
Application.MainFormOnTaskbar := False;
Application.Title := 'MyApp';
Application.CreateForm(TfrmMain, frmMain);
Application.CreateForm(TfrmLog, frmLog);
Application.Run;
End else
begin
SetForegroundWindow(PreviousHandle);
end;
end.
我还尝试禁用我的皮肤引擎,但也没有用。
【问题讨论】:
标签: forms delphi vcl show-hide