본문 바로가기
C & C++/MFC 컨트롤

[Dialog] 시작시 트레이 아이콘으로 시작

by izen8 2011. 3. 27.
반응형

프로그램이 최초 실행 시 트레이에서 실행되는 메신저 프로그램처럼, 창으로 뜨지 않고 시작하는 프로그래밍 방법을 설명합니다.

핵심..

화면에 보이지 않는 모달리스 다이알로그(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() 함수를 호출한다.

반응형

댓글