LRESULT CShowMsg::OnMessage(UINT iMessage,WPARAM wParam,LPARAM lParam)
{
RECT crt;
int i;
switch(iMessage) {
case WM_CREATE:
x=50;
y=50;
str=(TCHAR *)malloc(128);
lstrcpy(str,"String");
arView[0]=CreateView(VIEW1);
return 0;
case WM_DESTROY:///////////////////////////ÀÌ ¸Þ½ÃÁö°¡ ¹ß»ýÇÏÁö ¾Æ´ÏÇÔ
free(str);
for (i=0;i<2 && arView[i];i++) {
DeleteView(i);
}
return 0;
case WM_SIZE:
GetClientRect(hWnd,&crt);
if (arView[1]==NULL) {
MoveWindow(arView[0]->hWnd,0,0,crt.right,crt.bottom,TRUE);
} else {
MoveWindow(arView[0]->hWnd,0,0,crt.right,crt.bottom/2-2,TRUE);
MoveWindow(arView[1]->hWnd,0,crt.bottom/2+2,crt.right,crt.bottom/2-2,TRUE);
}
return 0;
}
return(DefWindowProc(hWnd,iMessage,wParam,lParam));
}
ÀÌ ÇÁ·Î±×·¥ÀÇ ±¸Á¶´Â È£½ºÆ®(¸ÞÀÎ)ÀÇ CREATE¸Þ½ÃÁö¿¡¼ ÇÁ·¹ÀÓ CShowMsg¸¦ »ý¼ºÇϰí ÇÁ·¹ÀÓÀÇ CREATE¿¡¼
arView[0]=CreateView(VIEW1); ÇÏ¿© new CShowMsgView¸¦ »ý¼ºÇϰí ÇÏ¿© arView µÎ°³¸¦ °ü¸®ÇÕ´Ï´Ù.
¿©±â¼ ¸ÞÀÎÀ» Á¾·áÇÏ¸é µ¿Àû»ý¼ºÇÑ ºä¸¦ DeleteView(i); ÇÔ¼ö·Î ÇØÁ¦ÇØ ÁÖ¾î¾ß Çϴµ¥ ³ª´Â »ý°¢Çϱ⸦
¸ÞÀÎÀ» Á¾·áÇÏ¸é ¸ÞÀο¡¼ Â÷ÀϵåÀÎ ÇÁ·¹ÀÓÀ©µµ¿ìÀÇ WM_DEWTROY: ¸¦ ¹ß»ý½ÃÄÑ DeleteView[1,2 µÎ°³);¸¦ ÇØÁִ°ɷÎ
¾Ë¾Ò´Âµ¥ ¸Þ½ÃÁö¹Ú½º¸¦ ³Ö¾î È®ÀÎÇØ º¸´Ï ÇÁ·¹ÀÓÀÇ DESTROY ¸Þ½ÃÁö°¡ ¹ß»ýÇÏÁö ¾Ê½À´Ï´Ù.
±×·¡¼ ÇÒ ¼ö ¾øÀÌ ¸ÞÀÎÀÇ WM_DESTROY: À§Ä¡¿¡ Äڵ带 ¿Å°Ü for(i=0;i<2;i++) DeleteView(i);¸¦ ÇØÁÖ´Ï
µ¿Àû»ý¼ºµÈ ºäÀÇ À©µµ¿ì°³¼ö(ÇѰ³ ¶Ç´Â µÎ°³)¸¸Å ºäÀÇ DESTROY¸Þ½ÃÁö°¡¹ß»ýÇÏ¿© ¸Þ½ÃÁö¹Ú½º°¡ Ãâ·ÂµË´Ï´Ù.
Áï µ¿Àû»ý¼ºÇÑ ºä¸¦ ÇØÁ¦ÇÒ¶§´Â ÇÁ·¹ÀÓÀ©µµ¿ì°¡ ÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó ¸ÞÀÎÀ©µµ¿ì¿¡¼ DeleteView()¸¦ ÇØÁÖ¾î¾ß ÇÑ´Ù´Â
°ÍÀÔ´Ï´Ù. ¸ðµç DESTROY ¸Þ½ÃÁö ¸¶´Ù MessageBox(NULL, L"Destroy " ,L"ShowMsgView", MB _OK); ³Ö¾î È®ÀÎÇØ
º» °á°úÀÔ´Ï´Ù. 403 Forbidden403 Forbidden |
|