제라툴입니다.
간단한 팁하나 소개할게여...
요즘 메신저나 그밖의 프로그램들이 대부분 트라이 아이콘 형태로 배포되는
경우가 많습니다.^^
그래서 트라이 아이콘을 만드는 방법을 하나 소개 할까합니다. 물론 2000에서
하는 방법이구요.. 98에서는 될지 안될지 모르곘내용..
트라이 아이콘을 만들기 위해서는 우선 NOTIFYICONDATA 구조체와 Shell_NotifyIcon 함수에 대해서 알아야 합니다.
Shell_NotifyIcon는 테스크바 지역의 아이콘을 생성하고 수정하고 지우는 메시
지를 관리하는 API 합수 입니다.
또 NOTIFYICONDATA구조체는 Shell_NotifyIcon의 인자로 들어가는 중요한
구조체인데.. Icon의 상태와 또 테스크바지역의 메시지를 관리할 수있도록
메시지에관한 설정이 들어가는 구조체입니다.
그럼 이두가지를 이용해서.. 어떻게 트라이 아이콘을 만들것인가...
궁금하죠..간단합니다.
우선 NOTIFYICONDATA 구조체 변수를 하나 선언 합니다.
(예 NOTIFYICONDATA tnd;)
그런다음 이 구조체를 Setting해야 겠죠..^^
(예.
tnd.cbSize = sizeof(NOTIFYICONDATA);//구조체의 크기 저장
tnd.hWnd = Handle;//TrayIcon을 만들고자하는 Form 의 Handle
tnd.uID = IDC_MYICON;//임으로 정의한 ID
tnd.uFlags = NIF_MESSAGE | NIF_ICON | NIF_TIP;
//NIF_MESSAGE : uCallbackMessage 사용 가능(The uCallbackMessage member is valid.)
//NIF_ICON : hIcon 사용 가능(The hIcon member is valid. )
//NIF_TIP : szTip 사용 가능(The szTip member is valid.)
tnd.uCallbackMessage = WM_MYTRAY;
//테스크바에서 이벤트 발생시 WM_MYTRAY메시지를 던진다.
)
이제 세팅이 끝났죠...^^
그럼 Shell_NotifyIcon함수를 실행 하기만 하면 됩니다.
(예. Shell_NotifyIcon(NIM_ADD, &tnd);
Shell_NotifyIcon(NIM_MODIFY, &tnd);
)
물론 Icon의 핸들을 NOTIFYICONDATA에서 Setting한후
Shell_NotifyIcon를 실행 하셔야 합니다.
이렇게 하면 간단히 트라이아이콘을 만들수있습니다.^^
예제 파일을 올리겠습니다.^^
---- 아름다운 청년 제라툴 ----
|