À©µµ¿ì ÇÁ·Î±×·¡¹Ö ÀÚ·á |
---|
Á¦¸ñ | [MFC] Print and Preview 1998/08/04 (14:01) |
À̸§ | swindler |
¹øÈ£ | 58 |
Á¶È¸ | 456 |
º»¹® |
¸ÕÀú ÇÁ¸°Æ® ¹Ì¸®º¸±â´Â À©µµ¿ìÁî ±â´ÉÀÌ ¾Æ´Ñ MFC ¶óÀ̺귯¸® ±â´ÉÀÓÀ» ¾Ë¾Æ¾ß Çϸç, ÇÁ¸°Æ® ±â´ÉÀ» API·Î ±¸ÇöÇϱâ À§Çؼ´Â »ó´çÇÑ ±â¼úÀÌ ÇÊ¿äÇÏ´Ù. 1. WM_PAINT¹ß»ý½Ã¿¡´Â, void CView::OnPaint() { CPaintDC dc(this); OnPrepareDC(&dc); OnDraw(&dc); } void CView::OnDraw(CDC* pDC) { //Ãâ·Â }} 2. Print, Print Preview ¼±Åýà void CView::OnPrint(CDC* pDC, CPrintInfo*) { ASSERT_VALID(pDC); OnDraw(pDC); } 3. WM_PAINT°¡ ¹ß»ýÇÏ¿© View¿µ¿ªÀ» ´Ù½Ã ±×·Á¾ß ÇÒ ÇÊ¿ä°¡ ÀÖÀ»¶§ CView::OnPaint()ÀÌ È£ÃâµÇ¾î OnPaint()ÇÔ¼ö ³»ºÎÀÇ OnDraw()°¡ È£ÃâµÈ´Ù. ±×¸®°í, »ç¿ëÀÚ°¡ Print, Print Preview¸Þ´º ¾ÆÀÌÅÛÀ» ¼±ÅÃÇϸé È£ÃâµÇ´Â CView::OnPrint()µµ OnDraw()¸¦ È£ÃâÇÑ´Ù. OnPaint()¿¡¼ OnDraw()°¡ È£ÃâµÇ´Â °æ¿ì´Â µð½ºÇ÷¹ÀÌ µð¹ÙÀ̽º ÄÁÅؽºÆ®°¡ ÆĶó¹ÌÅÍ·Î Àü´ÞµÇ¸é, OnPrint()¿¡¼ È£ÃâµÇ´Â °æ¿ì¿¡´Â ÇÁ¸°ÅÍ µð¹ÙÀ̽º ÄÁÅؽºÆ®°¡ ÆĶó¹ÌÅÍ·Î Àü´ÞµÈ´Ù. MM_TEXT¿Í ´Ù¸¥ ¸ÊÇÎ ¸ðµå°¡ ÇÊ¿äÇÏ´Ù¸é ºäÀÇ OnPrepareDC() ÇÔ¼ö¿¡¼ ÇØ´ç ¸ðµå¸¦ ¼³Á¤ÇÏ¸é µÈ´Ù. ȸéÀÇ ¸ÊÇÎ ¸ðµå¿Í ÇÁ¸°ÅÍÀÇ ¸ÊÇÎ ¸ðµå¸¦ ¼·Î ´Ù¸£°Ô ÇÏ°íÀÚ ÇÒ °æ¿ì¿¡´Â IsPrinting()ÇÔ¼ö¸¦ »ç¿ëÇÏ¸é µÈ´Ù. OnPrepareDC()ÇÔ¼öÀÇ °æ¿ì ȸé ÀÛ¾÷½Ã´Â OnDraw()°¡ È£ÃâµÇ±â Àü¿¡ È£ÃâµÇ¸ç, ÇÁ¸°Æ® ÀÛ¾÷½Ã¿¡´Â OnPrint()ÇÔ¼ö¸¦ È£ÃâÇϱâ Àü¿¡ ½ÇÇàµÈ´Ù. 4. CPrintInfo´Â ÆäÀÌÁö µð¸à¼Ç, ÇöÀç ÆäÀÌÁö ¹øÈ£, ÃÖ´ë ÆäÀÌÁö ¼öµîÀ» Æ÷ÇÔÇÏ´Â Á¤º¸ °´Ã¼ Æ÷ÀÎÅÍÀÌ´Ù. ȸé°ú ÀüÇô µ¶¸³ÀûÀÎ ÇÁ¸°ÅÍ ·ÎÁ÷À» Áö¿øÇϱâ À§Çؼ´Â OnPrint() ÇÔ¼ö°¡ OnDraw()ÇÔ¼ö¸¦ È£ÃâÇÒ ÇÊ¿ä´Â ¾ø´Ù. ¾îÇø®ÄÉÀÌ¼Ç ÇÁ·¹ÀÓ¿öÅ©´Â CPrintInfo±¸Á¶Ã¼¿¡ ÀÖ´Â ÇöÀç ÆäÀÌÁö ¼ö¸¦ »ç¿ëÇÏ¿© ÀμâÇÒ °¢ ÆäÀÌÁö¿¡ ´ëÇØ ´ÜÇѹø¸¸ OnPrint()ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù. 5. ÇÁ¸°Æ® ÀÛ¾÷ÀÇ ½ÃÀÛ°ú ³¡ OnPreparePrinting() : ÃÖ¼Ò/ÃÖ´ë ÆäÀÌÁö ¼ö ¼³Á¤ Àμ⠴ÙÀ̾ó·Î±×°¡ Ãâ·ÂµÇ±â Àü¿¡ È£ÃâµÈ´Ù. CPrintInfo::SetMinPage(), SetMaxPage()¸¦ È£ÃâÇÑ´Ù. OnBeginPrinting() : GDI°´Ã¼ »ý¼º Àμ⠴ÙÀ̾ó·Î±×°¡ Ãâ·ÂµÈ ÈÄ È£ÃâµÈ´Ù. OnPrepareDC() : °¢ ÆäÀÌÁö¸¶´Ù ¸ÊÇÎ ¸ðµå¼³Á¤/ ´õ Ãâ·ÂÇÒ ÆäÀÌÁö°¡ ÀÖ´ÂÁö °Ë»ç OnPrint() : °¢ÆäÀÌÁö¸¶´Ù, ÇÁ¸°Æ® ÁöÁ¤ °á°ú¸¦ ¼öÇàÇÏ°í³ª¼ OnDraw() È£Ãâ OnEndPrinting() : GDI °´Ã¼ Á¦°Å |