kyuseo의 게임 프로그래밍
다이알로그(Dialog) 프로그램을 트레이(Tray)에서 실행 하는 방법 본문
프로그램이 최초 실행 시 트레이에서 실행되는 메신저 프로그램처럼, 창으로 뜨지 않고 시작하는 프로그래밍 방법을 설명합니다.
화면에 보이지 않는 모달리스 다이알로그(Modaless Dialog)로 개발합니다.
0. 헤더에 선언한다.
CNorazoClientLauncherDlg* m_pDlg;
1. 다이알로그를 모달리스윈도우로 생성한다.
BOOL CNorazoClientLauncherApp::InitInstance() { ... ... m_pDlg = new CNorazoClientLauncherDlg; m_pDlg->Create( CNorazoClientLauncherDlg::IDD ); m_pDlg->ShowWindow( SW_HIDE );
m_pMainWnd = m_pDlg;
return TRUE; }
2. 프로그램에 메모리 제거 코드를 추가한다.
int CNorazoClientLauncherApp::ExitInstance() { delete m_pDlg;
return CWinApp::ExitInstance(); }
3. 다이알로그 옵션의 Visible 을 FALSE로 변경 한다.
4. 트레이 관련 코드를 삽입 한다.
CSystemTray 등 공개 코드를 이용하여 트레이 관련 코드를 삽입한다.
5. 종료
모달리스 다이알로그이므로 프로그램 종료는 CDialog::OnCancel() 을 호출하지 말고 DestroyWindow() 함수를 호출한다. |
지모콘 프로그램을 이와 같은 방식으로 개발하였습니다.