2015.03.15 15:02


※ WM_SYSCOMMAND → WM_CLOSE → WM_DESTROY → WM_QUIT


1. WM_CLOSE
   - 윈도우가 닫히기 전에 메시지가 전달 된다.
   - 아직 윈도우가 파괴된 것은 아니므로 윈도우가 파괴되는 것을 중간에 제어 할 수 있다.
   - 윈도우의 “닫기” 를 누르거나, 키보드의 “Alt + F4”를 눌렀을 경우 발생




   - WM_CLOSE 의 핸들러(OnClose) 에서 추가적인 제어를 하지 않는다면 메시지는
      DefWindowsProc 로 보내진다.
   - CDialog::OnClose() 는 내부적으로 DestroyWindow() 함수를 호출 한다.
   - DestroyWindow() 함수는 내부적으로 WM_DESTROY 메시지를 발생 시킨다.


2. DestroyWindow()
   - CWnd내부에 있는 윈도우를 destroy 한다. 
   - 윈도우를 해제하고 입력 포커스를 제거하기 위한 적절한 message를 윈도에게 보낸다. 
   - 윈도우의 메뉴 제거  
   - application queue를 비운다.
   - timer를 제거 
   - Clipboard의 소유주 제거
   - Clipboard-viewer chain을 끊는다. ( CWnd가 viewer chain의 맨 위에 있을 경우 ) 
   - WM_DESTROY(OnDestroy)와 WM_NCDESTROY(OnNcDestroy) 메시지를 윈도우 에게 보낸다.
     하지만 아직 CWnd 객체는 destroy하지 않는다.


3. WM_DESTROY
   - Framework이 CWnd에게 현재 CWnd가 소멸되고 있는 중이라고 알려 주기 위하여 호출 
   - 화면에 윈도우를 숨긴 후 메시지 발생, 아직 윈도우 자체는 파괴되지 않았다
   - DestroyWindows() 함수에서 발생 시킨다.
   - WM_CREATE 에 반대되는 동작을 수행 한다.
   - 차일드 윈도우가 있다면 이 메시지를 차례대로 전달 한다.
   - 메인 윈도우에서 PostQuitMessage() 함수를 반드시 호출하여 프로세스의 메시지 루프
     를 종료시켜야 한다. 그렇지 않다면 윈도우만 파괴되고 메시지 루프는 계속 실행중인
     상태가 되므로 프로세스가 종료되지 않는다.


4. WM_NCDESTROY
   - Client 영역이 아닌 영역이 Destroy 될 때 Framework 에 의하여 불려짐.
   - 윈도우가 소멸될 때 마지막으로 호출되는 메시지
   - 핸들러를 재정의 한다면 기본 호출 함수를 가장 위에서 해주자.

   
5. PostNcDestroy()
   - 윈도우가 소멸된 후 OnNcDestroy() 함수에 의해 불려지는 함수
   - 사용자들이 상속받아 만든 클래스의 정리를 위한 코드를 넣음.


6. View가 닫혀질 때 호출되는 핸들러 순서
BOOL CAniView::DestroyWindow() 

  
// TODO: Add your specialized code here and/or call the base class 
// 윈도우가 안보여 지기전에 해야 할 작업 처리
  
 return CView::DestroyWindow(); 
  

  
void CAniView::OnDestroy() 

  
  CView::OnDestroy(); 
  
  // TODO: Add your message handler code here 
  

  
void CAniView::PostNcDestroy() 

  
  // TODO: Add your specialized code here and/or call the base class 
  
  CView::PostNcDestroy(); 
  
}


7. WM_QUIT
   - 응용프로그램을 종료 하라는 메시지
   - PostQuitMessage() 가 발생 시키는 메시지
   - GetMessage() 함수가 0 을 리턴하도록 함으로써 메시지 루프를 종료
   - PeekMessage() 함수는 따로 WM_QUIT 메시지를 점검해야 한다.





다음과 같이 종료 시킨다.


HWND hWndBuilder;

hWndBuilder = ::FindWindow( NULL, "NxBuilder" );

1번 : if(hWndBuilder!=NULL) ::PostMessage(hWnd,WM_CLOSE,0,0);  --> 정상종료시

2번 : if(hWndBuilder!=NULL) ::PostMessage(hWnd,WM_DESTROY,0,0);  --> 마찬가지

3번 : if(hWndBuilder!=NULL) ::PostMessage(hWnd,WM_QUIT,0,0); --> 강제종료





신고


Posted by injunech
2015.03.15 10:35


롯데마트 휴무일


매월 2째 4째 주 일요일 휴무

서울 : 강변,구로,삼양,송파,서울역,월드타워,잠실,중계,청량리,김포공항,금천,도봉,영등포

인천경기 : 검단,계양,권선,부평,부평역,삼산,서현,수지,수원,시흥,시화,신갈,송도,영통,연수,영종도,천천,청라,판교,평택,의정부,장암,신영통

충청 : 노은,대덕,당진,동대전,상당,서대전,서청주,서산,성정,아산터미널,제천,천안,천안아산,청주

영남 : 거제,김해,금정,광복,대구율하,동래,동부산,마산,반여,사상,사하,삼계,시티세븐,웅상,장유,진장,진해,창원,키즈마트 부산,통영,포항,화명

호남강원 : 군산,남원,덕진,목포,상무,석사,수완,여수,여천,원주,월드컵,익산,전주,전주송천,정읍,첨단,춘천


매월 2째 4째 주 수요일 휴무

서울인천 : 김포,안성,행당

경기 : 구리,덕소,동두천,마석,양주,오산,의왕

충청 : 홍성

영남 : 구미,김천

호남강원 : 나주




신고

'Etc..' 카테고리의 다른 글

롯데마트 휴무일  (0) 2015.03.15
홈플러스 휴무일  (0) 2015.03.15


Posted by injunech
2015.03.15 10:30


홈플러스 (Homplus) 휴무일

 

2째, 4째 일요일 휴무 점포 (14일, 28일)

서울 : 강서, 영등포, 금천, 동대문, 강동, 월곡, 신내, 잠실, 가양, 시흥, 면목, 월드컵, 방학, 신도림, 중계, 합정

인천 : 인천연수, 인천숭의, 인하, 인천논현, 간석, 작전, 구월, 계산, 가좌

경기 : 김포, 풍무, 원천, 북수원, 영통, 동수원, 서수원, 화성향남, 화성동탄, 병점, 분당오리, 야탑, 시화

대구 : 상인, 성서, 수성, 대구스타디움, 대구, 칠곡, 남대구, 동촌, 내당

경북/울산 : 죽도, 포항, 경주

부산 : 영도, 센텀시티, 아시아드, 부산연산, 서부산, 가야, 부산감만, 동래, 부산정관, 부산반여, 해운대, 장림, 서면

광주/전라 : 동광주, 광주계림, 광주하남, 김제, 익산, 전주, 전주효자, 전주완산, 목포, 순천, 순천풍덕

대전/충청 : 서대전, 유성, 청주, 동청주, 오창, 청주성안, 대전가오, 동대전, 대전둔산, 문화, 대전탄방, 천안, 천안신방

강원 : 삼척



2째, 4째 수요일 휴무 점포 (10일, 24일)

서울 : 목동

경기 : 부천여월, 부천상동, 부천소사, 중동, 평촌, 안양, 안산, 안산선부, 안산고잔, 하남, 남양주진접, 의정부, 포천송우, 송탄, 평택안중, 오산

경북/울산 : 구미, 안동, 문경, 울산동구, 울산, 울산남구, 울산북구, 경산

경남 : 창원, 마산, 진해, 김해, 동김해, 거제, 진주, 삼천포, 밀양

광주/전라 : 광양

대전/충청 : 계룡, 논산, 보령, 조치원

강원 : 춘천, 원주, 강릉

기타요일 휴무 점포

매월 1일, 15일 휴무 : 일산, 킨텍스, 고양터미널

매월 9일, 24일 휴무 : 파주문산

매월 2째 금(12일), 4째 토(27일) 휴무 : 서귀포

매월 2째 월(8일), 4째 월(22일) 휴무 : 영주


※ 일부 점포는 지자체 별 조례에 따라

휴무일이 변경 될 수 있습니다.

신고

'Etc..' 카테고리의 다른 글

롯데마트 휴무일  (0) 2015.03.15
홈플러스 휴무일  (0) 2015.03.15


Posted by injunech

티스토리 툴바