컴퓨터 공부/MFC 프로그래밍

[5월 21일 2교시] 트레이 아이콘

려리군 2009. 5. 21. 10:49

트레이 아이콘


NOTIFYICONDATA구조체

참고주소 : http://msdn.microsoft.com/en-us/library/bb773352.aspx

typedef struct _NOTIFYICONDATAA{

    DWORD cbSize;                   // 구조체의 크기

    HWND hWnd;                       // 윈도우 핸들

    UINT uID;                            // 트레이 아이콘을 구분 짓는 아이디

    UINT uFlags;                       // NIF_ICON, NIF_MESSAGE, NIF_TIP

    UINT uCallbackMessage;     // 트레이 아이콘이 반응할 때 보내는 메세지

    HICON hIcon;                      // 아이콘 핸들

    TCHAR szTip[64];               // 툴팁으로 나올 문자열.

}


※ HWND m_hWnd : 현재 윈도우 핸들


함수

BOOL Shell_NotifyIcon(DWORD dwMessage, PNOTIFYICONDATA lpdata);

참고주소 : http://msdn.microsoft.com/en-us/library/bb762159.aspx

작업바(밑)의 상태 창에 메세지를 보낸다.

리턴 : 성공시 TRUE, 실패시 FALSE

dwMessage : 취할 행동을 정의하는 DWORD변수. 다음 중 하나의 값이다.

 - NIM_ADD : 상태 창에서 아이콘을 추가한다. lpdata가 가리키는 변수인 hWnd와 nID는 나중에 Shell_NotifyIcon을 호출함으로써 아이콘을 확인하는데 사용될 것이다.

 - NIM_MODIFY : 상태창에서 아이콘을 수정한다. lpdata가 가리키는 변수인 hWnd와 nID는 수정될 아이콘을 확인하는 데 사용된다.

 - NIM_DELETE : 상태창에서 아이콘을 지운다. lpdata가 가리키는 변수인 hWnd와 nID는 지울 아이콘을 확인하는 데 사용된다.

lpdata : NOTIFYICONDATA구조체의 포인터. dwMessage에 따라 달라진다.


트레이 아이콘에 대한 사용자 메세지 처리

lParam은 WM_MOUSEMOVE로 설정되어 있다.

wParam은 아이콘 핸들.