1

使用中の場合にタスクバーボタンに表示される単純なVCLフォームアプリケーションがあります。これらのボタンを非表示にしたいので、ボタンが表示されないフォームで何が起こってもかまいません。フォームが表示または非表示になっている場合や、ボタンを非表示にする必要がある場合があります。その方法は?

PSこのような質問が存在することがわかりましたが、私の目的では機能しません。

4

2 に答える 2

2

スプークが答えたことだけでなく、( 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 に答える
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 に答える