我有一个简单的VCL表单应用程序,如果正在使用,则在开始显示在任务栏按钮上,我想做的是隐藏这些按钮,这意味着无论表单发生什么,这些按钮都不会出现。情况可以是表单被显示或隐藏或任何其他但按钮必须隐藏,怎么做?
附言我看到这样的问题存在,但它们对我的事业不起作用。
我不仅要按照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;
}
尝试以下方法:
- 将 MainFormOnTaskBar 设置为 false
- 在主窗体的 OnShow 事件处理程序中调用 ShowWindow(Application->Handle, SW_HIDE)。
- 在主窗体的 OnActivate 事件处理程序中调用 ShowWindow(application->Handle, SW_HIDE)。
来源:http://delphi.about.com/od/delphitips2008/qt/hide_taskbutton.htm