2009/04/14

[VCL] 작업표시줄의 프로그램 버튼 숨기기

프로그램 실행 시 작업표시줄(Taskbar)에 나타나는 프로그램 버튼을 숨기기 위해서는 MainForm 의 부모인 Application을 ShowWindow로 숨기면 된다.

void __fastcall TfrmMain::FormShow(TObject *Sender)
{
ShowWindow( Application->Handle, SW_HIDE );
}



이 방법은 C++ Builder 2007 이전에만 적용되며 C++ Builder 2007 이후에 만들어진 프로젝트의 경우 한가지 설정을 대 해 주어야 한다.

Application 이 초기화 되고 MainForm이 생성되기 전에 Application의 MainFormOnTaskBar 속성을 false로 설정해 주어야 위의 코드가 정상적으로 처리가 된다.

WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
{
try
{
Application->Initialize();
Application->MainFormOnTaskBar = false;
Application->CreateForm(__classid(TfrmMain), &frmMain);
Application->Run();
}
:

return 0;
}



MainFormOnTaskBar 속성은 Delphi 2007 버전부터 추가된 속성으로 작업표시줄의 프로그램 버튼을 어떻게 핸들링 할지를 설정하는 기능이다. 이 속성을 Vista 이후에 추가된 기능을 지원하기 위해 추가 되었다고 한다.

MainFormOnTaskBar 속성이 true 이면 메인폼의 프로그램 타이틀을 작업표시줄에 출력하고, false 이면 Application의 타이틀을 출력한다.


참고자료
Hide a Delphi Application Button from the TaskBar
Hide a Delphi 2007 Application Button from the TaskBar
박지훈님(볼랜드 포럼)의 MainFormOnTaskbar에 대한 글


Original Post : http://neodreamer-dev.tistory.com/290

No comments :

Post a Comment