C ++ Builder — Как скрыть форму с панели задач в C ++ Builder?

У меня есть простое приложение VCL Forms, которое при запуске показывает на кнопке панели задач, если она используется, я хочу скрыть эти кнопки, чтобы это означало, что бы ни случилось с формой, чтобы эти кнопки не появлялись. Может случиться так, что формы показываются или скрываются, или любая другая кнопка должна быть скрыта, как это сделать?

Постскриптум Я вижу, что такой вопрос существует, но они не работают в моем деле.

1

Решение

Попробуйте следующий подход:

  • Установите MainFormOnTaskBar в false
  • Вызовите ShowWindow (Application-> Handle, SW_HIDE); внутри обработчика события OnShow основной формы.
  • Вызовите ShowWindow (Application-> Handle, SW_HIDE); внутри обработчика события OnActivate главной формы.

Источник: http://delphi.about.com/od/delphitips2008/qt/hide_taskbutton.htm

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;
}
2

По вопросам рекламы [email protected]