2012-12-14 1 views
1

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

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

ответ

2

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

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

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

+1

Он работает для версий Delphi/Builder C++ <2007 I предположим, что у вас более поздняя версия. Я снова отредактировал код, попробуйте сейчас, он должен работать (проверен на XE2). – Spook

+0

большое спасибо, что вы мне очень помогли, он отлично работает! – tonni

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

 Смежные вопросы

  • Нет связанных вопросов^_^