|
1.¿ä¾à MDIÀÇ ¸ÞÀÎ ÇÁ·¡ÀÓ À©µµ¿ì¿¡ ºñÆ®¸Ê ÆÄÀÏÀ» »ðÀÔÇÏ´Â ¹æ¹ýÀ» ¼Ò°³ÇÕ´Ï´Ù. 2.º»¹® MDI ȯ°æÀ¸·Î ÇÁ·Î±×·¡¹ÖÀ» ÇÏ½Ç ¶§ ȸ»ö ºû±òÀÇ µüµüÇÏ°í ¹«¹Ì °ÇÁ¶ÇÑ ¸ÞÀÎ ÇÁ·¡ÀÓ À©µµ¿ì¸¦ ¸¹ÀÌ º¸¼ÌÀ» °Ì´Ï´Ù. ÀÌ·¯ÇÑ ¹«¹Ì °ÇÁ¶ÇÑ ¸ÞÀÎ ÇÁ·¡ÀÓ À©µµ¿ì¿¡ ºñÆ®¸Ê ÆÄÀÏÀ» µ¤¾î ¾º¿ö¼ µüµüÇÑ ¸ÞÀÎ ÇÁ·¡ÀÓ À©µµ¿ì¸¦ Æ÷ÀåÇØ º¸±â·Î ÇϰڽÀ´Ï´Ù. ÀÏ´Ü, ¸ÞÀÎ ÇÁ·¡ÀÓÀ» ¿ì¸®°¡ °Çµå¸®±â À§Çؼ´Â ¿ì¸®°¡ ¸¸µé¾î ³õÀº applicationÀÇ mainframe classº¸´Ù »óÀ§ Ŭ·¡½ºÀÎ CWnd Ŭ·¡½º¿¡¼ »ó¼Ó ¹Þ´Â Ŭ·¡½º¸¦ Çϳª ´õ ¸¸µé¾î¼ ÀÌ Å¬·¡½º¿¡¼ ºñÆ®¸Ê ÀÛ¾÷À» ¼öÇàÇÏ¸é µË´Ï´Ù. ÀÌ·¯ÇÑ ÀÛ¾÷À» Çϱâ À§Çؼ ¿ì¸®°¡ ¼¼¿ö¾ß ÇÏ´Â Àü·«Àº ¿ì¼± ¸ÕÀú Æ÷Åä¼¥À̳ª ÆäÀÎÆ® ¼¥ ÇÁ·Î¿Í °°Àº ±×·¡ÇÈ ¿¡µðÆÃ ÇÁ·Î±×·¥¿¡¼ ¿ì¸®°¡ ¿øÇÏ´Â ¿µ»ó ó¸® ÀÛ¾÷À» ¼öÇàÇϰí À̸¦ ºñÆ®¸ÊÀ¸·Î ÀúÀåÀ» ÇÕ´Ï´Ù. ±×¸®°í CWnd Ŭ·¡½º¿¡¼ »ó¼Ó ¹Þ´Â Ŭ·¡½º¸¦ Çϳª ´õ ¸¸µé¾î¼ ÀÌ Å¬·¡½º¿¡¼ ºñÆ®¸Ê ÀÛ¾÷À» ¼öÇàÇÕ´Ï´Ù. ±×¸®°í ÀÌ »õ·Î »ðÀÔµÈ Å¬·¡½º¿¡ ¿ì¸®°¡ ¿µ»ó ó¸®ÇÏ¿© ÀúÀåÇÏ¿© µÐ ºñÆ®¸Ê ÆÄÀÏÀ» ·ÎµùÇÕ´Ï´Ù. ±×¸®°í ÀÌ »õ·Î »ðÀÔµÈ Å¬·¡½º¸¦ ¿ì¸®°¡ ¸¸µé¾î ³õÀº applicationÀÇ mainframe class¿¡ ÀÎŬ·çµå ½ÃŲ ´ÙÀ½, mainframe class°¡ »ý¼º µÇ´Â ½ÃÁ¡¿¡¼ ·ÎµùµÈ ºñÆ®¸Ê ÆÄÀÏÀ» »Ñ·ÁÁÖ¸é ³¡³³´Ï´Ù. ¾ÆÁÖ °£´ÜÇÏÁö¿ä?? ±×·³ ¼Ò½ºÄڵ带 º¸½Ã°í À½¹ÌÇØ º¸½Ã±â¸¦ ¹Ù¶ø´Ï´Ù. 3.¿¹Á¦
//¾Æ·¡ÀÇ IDB_ LEDZEPPLINEÀº ¸®¼Ò½º¿¡ ·ÎµùµÇ¾î ÀÖ´Â ºñÆ®¸Ê ÆÄÀÏÀÇ ¾ÆÀ̵ð ÀÔ´Ï´Ù.
CMyBMPClient::CMyBMPClient()
{
VERIFY(m_bmp.LoadBitmap(IDB_LEDZEPPLINE));
}
BOOL CMyBMPClient::OnEraseBkgnd(CDC* pDC)
{
// TODO: Add your message handler code here and/or call default
CWnd::OnEraseBkgnd(pDC);
BITMAP bm ;
CDC dcMem ;
VERIFY(m_bmp.GetObject(sizeof(bm), (LPVOID)&bm));
dcMem.CreateCompatibleDC(pDC);
CBitmap* pOldBMP = (CBitmap*) dcMem.SelectObject(&m_bmp);
CRect rect;
GetClientRect(rect);
pDC->BitBlt((rect.right-bm.bmWidth) / 2, // centered
(rect.bottom-bm.bmHeight) / 2,
bm.bmWidth,
bm.bmHeight,
&dcMem,
0, 0,
SRCCOPY);
dcMem.SelectObject(pOldBMP) ;
return TRUE;
}
void CMyBMPClient::OnSize(UINT nType, int cx, int cy)
{
CWnd::OnSize(nType, cx, cy);
// TODO: Add your message handler code here
RedrawWindow(NULL, NULL,
RDW_INVALIDATE|RDW_ERASE|RDW_ERASENOW|RDW_ALLCHILDREN);
return ;
}
// ÀÌ·¸°Ô ÄÚµùÇϽŠµÚ¿¡ ¸ÞÀÓ ÇÁ·¡ÀÓ Å¬·¡½ºÀÇ OnCreate ÇÔ¼ö¿¡
// À̸¦ ÀÇ Å¬·¡½º¸¦ »ðÀÔ½Ã¸é µË´Ï´Ù.
// ¸ÕÀú mainframe class ÇØ´õ¿¡ ´ÙÀ½°ú °°ÀÌ Á¤ÀÇ ÇϽðí,
CMyBMPClient m_wndClient;
// cpp ÆÄÀÏ¿¡¼ ¸ÞÀÎ ÇÁ·¡ÀÓ »ý¼ºÀ» ´ã´çÇÏ´Â OnCreate ÇÔ¼ö¿¡ ´ÙÀ½°ú °°ÀÌ ÄÚµùÇÕ´Ï´Ù.
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CMDIFrameWnd::OnCreate(lpCreateStruct) == -1)
return -1;
if (!m_wndClient.SubclassWindow(m_hWndMDIClient))
{
TRACE("Failed to subclass MDI client window.\n");
return -1;
}
// »ý·«..
}
- 2001.08.13 Smile Seo - |