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

시스템 캡션 깜빡거리게 만들기

by izen8 2012. 10. 5.
반응형
윈도우 캡션(타이틀)을 깜빡거리게 만드는 방법에 대해서 알아보겠습니다.
// 사용하고자하는 클래스 헤더파일에 아래의 코드를 추가한다.
private:
BOOL m_flag;

// 클래스의 객체 생성자에 아래의 코드를 추가한다.
m_flag = TRUE;

// ClassWizard를 이용하여 WM_SYSCOMMAND 메시지를 등록하고 해당 메시지 핸들러에
// 아래의 코드를 추가한다.
// 일반적인 ClassWizard 설정에서 대화상자의 경우 WM_SYSCOMMAND 메시지가 목록에
// 없을 때는 아래와 같이 설정하면 된다.

// 해당 대화상자에 최소화 버튼이 없을 경우에는 아래와 같이 설정하면 된다.

// 최소화 버튼이 눌러졌는지 체크하여 최소화 버튼이 눌렸다면 Timer를 생성하고
// 윈도우가 RESTROE 되었을 때 윈도우의 깜빡임을 멈추기 위해 생성한 Timer를 종료한다.
void 클래스명::OnSysCommand(UINT nID, LPARAM lParam)
{
if((nID & 0xFFF0) == SC_MINIMIZE) SetTimer(1, 1000, NULL);
else if((nID & 0xFFF0) == SC_RESTORE) KillTimer(1);

CDialog::OnSysCommand(nID, lParam);
}
// ClassWizard를 이용하여 WM_TIMER 메시지를 등록하고 해당 메시지 핸들러에
// 아래의 코드를 추가한다.
void 클래스명::OnTimer(UINT nIDEvent)
{
if(nIDEvent == 1){
// m_flag 값에 따라 윈도우 캡션이 반전되게 된다.
FlashWindow(m_flag);
m_flag = !m_flag;
}
CDialog::OnTimer(nIDEvent);
}
<< 실행화면 >>

 

반응형

댓글