Application/MFC

[MFC] TrayIcon 초기화시 재 생성 방법 (TaskbarCreated)

devsalix 2023. 2. 15. 13:53
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
반응형