728x90
트레이 아이콘이 초기화되거나 사라졌을 경우
프로그램에서 TrayIcon을 재 생성해 줘야 할 때 쓰는 방법입니다
우선 Dialog 가상 함수를 하나 추가 합니다
함수명은 WindowPoc 함수입니다
virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam);
이후 Dialog 헤더 파일에 UINT 변수를 선언합니다
UINT m_uTrayIconRestart;
그리고 Dialog 소스 파일로 가서
OnInitDialog 함수 내 윈도우 메시지를 등록해 줍니다
m_uTrayIconRestart = RegisterWindowMessage(_T("TaskbarCreated"));
마지막으로
선언된 가상 함수 내에 아래와 같이 작성해주면 완료됩니다
LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
// TODO: 여기에 특수화된 코드를 추가 및/또는 기본 클래스를 호출합니다.
if(message == m_uTrayIconRestart)
{
MakeTrayIcon();
}
return CDialogEx::WindowProc(message, wParam, lParam);
}
MakeTrayIcon의 경우 아이콘 생성 함수를 작성해 주시면 됩니다
제 글이 도움이 되셨다면 댓글 & 공감 부탁드려요 😀
728x90
반응형
'Application > MFC' 카테고리의 다른 글
[MFC] 실행 파일 버전 가져오기 (0) | 2023.02.17 |
---|---|
[MFC] TrayIcon 만들기 (0) | 2023.02.16 |
[MFC] 자식 핸들 가져오기 (GW_HWNDNEXT, GW_CHILD) (0) | 2023.02.14 |
[MFC] MAKELPARAM 사용 방법 (0) | 2023.02.14 |
[MFC] WM_USER 사용 (User Message) (0) | 2023.02.10 |