1

我有一个简单的 VCL Forms 应用程序,如果正在使用,它会在任务栏按钮上开始显示,我想做的是隐藏这些按钮,这意味着无论这些按钮不出现的表单发生了什么。情况可以是显示或隐藏表单或任何其他但必须隐藏按钮,怎么做?

PS我看到这样的问题存在,但它们对我的事业不起作用。

4

2 回答 2

2

尝试以下方法:

  • 将 MainFormOnTaskBar 设置为 false
  • 调用 ShowWindow(Application->Handle, SW_HIDE); 在主窗体的 OnShow 事件处理程序中。
  • 调用 ShowWindow(Application->Handle, SW_HIDE); 在主窗体的 OnActivate 事件处理程序中。

来源:http ://delphi.about.com/od/delphitips2008/qt/hide_taskbutton.htm

于 2012-12-14T11:24:06.140 回答
2

我不仅必须做 Spook 回答的事情,而且(感谢http://codeverge.com/embarcadero.cppbuilder.ide/builder-c++-xe-and-hiding-taskbar/1073223

void __fastcall TForm1::FormCreate(TObject *Sender)
{
  Application->MainFormOnTaskBar = false;
  DWORD dwExStyle = GetWindowLong(Application->Handle, GWL_EXSTYLE);
    dwExStyle &= ~WS_EX_APPWINDOW;
    dwExStyle |= WS_EX_TOOLWINDOW;
    SetWindowLong(Application->Handle, GWL_EXSTYLE, dwExStyle);
}
void __fastcall TForm1::FormActivate(TObject *Sender)
{
    ShowWindow(Application->Handle, SW_HIDE);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::CreateParams(TCreateParams &Params)
{
    TForm::CreateParams(Params);
    Params.ExStyle &= ~WS_EX_APPWINDOW;
    Params.ExStyle |= WS_EX_TOOLWINDOW;
}
于 2014-09-06T01:05:31.243 回答