U E D R , A S I H C RSS

MFC/Print

{{| |}}

1. Print in MFC

document •ˆ—  €žฅœ ‚ดšฉ„ ถœ ฅํ•˜Š” ฒƒ€ view ˜ —ญํ•  ด‹ค. ด  •€ ƒ‹ํžˆ ณตžกํ•˜‹ค.
ถœ ฅ„ ตฌํ˜„ํ•˜ธฐ œ„ํ•ด„œŠ” view ํดž˜Šคกœ €„ƒ†ฐ›€ ˆ˜งŽ€ ํ•จˆ˜“ค„ ˜ค„ด”ฉ ํ•ด•ํ•œ‹ค.

2. ํ”„ฆฐํŠธ กœง €„œ ํ•จˆ˜“ค

  • CView::OnPreparePrinting()
    ํŽ˜ด€ šดํŠธ „‚ฐํ•œ‹ค. DoPreparePrinting() ํ˜ธถœ

  • CView::OnBeginPrinting()
    GDI ž›„ ํ• ‹
  • CDC::StartDoc()

  • CView::OnPrepareDC()
    ทฐํฌํŠธ › „ €ฒฝ. DC†„“ค„ „ •
  • CDC::StartPage()

  • CView::OnPrint()
    ํ—ค”/ฆฌง„ ถœ ฅํ•œ‹ค. ํ˜„žฌ ํŽ˜ด€ ถœ ฅํ•œ‹ค.
  • CDC::EndPage()
    ํŽ˜ด€€ ‚จ•˜‹คฉด OnPrepareDC()กœ ด™ํ•˜—ฌ ฃจํ”„
  • CDC::EndDoc()
  • CView::OnEndPrinting()
    GDIž› ํ•ด œ

  • ทฐํดž˜Šค˜ 5ฐœ˜ ฉค„ํ•จˆ˜Š” ํ”„กœทธž˜จธ€ žฌ •˜ ํ•ด•ํ•œ‹ค. ตœ†Œํ•œ 5ฐœค‘—„œ OnPreparePrinting(), OnPrepareDC(), OnPrint()Š” ตฌํ˜„ํ•ด•ํ•œ‹ค.
    ํ”„ฆฐํ„— Œ€ํ•œ ฐดํ„˜ ถœ ฅ€ ””Šคํ”Œ ˆด— ถœ ฅํ•˜Š” ฒƒ ™ํ•œ ฐฉ‹œกœ ดฃจ–ด„‹ค. (GDI€ žฅ˜ …ฆฝ œกœ งŒ“ค–ด ธ ž‡ธฐ •Œฌธด‹ค.)
    ํ”„ฆฐํ„ž‘—… €„˜Š” ชจ“  ํ•จˆ˜Š” CPrintInfo ํ˜•˜ ฐฒด ํฌธํ„€ ธžกœ  „‹ฌœ‹ค. ด ฐฒดŠ” ํ”„ฆฐํ„ž‘—…„ €ฆฌํ•˜Š” ํ•จˆ˜“ค„ —ฐฒฐ‹œœ€‹ค.

3. CPrintInfo

ํ”„ฆฐํŠธ ž‘—…—„œ ธฐดˆ ธ —ญํ• „ ํ•œ‹ค. ํ”„ฆฐํŠธ job  •ณด, ํ”„ฆฐํŠธ ž‘—… ƒํ™ฉ— Œ€ํ•œ ‚ดšฉด  €žฅœ‹ค.
ชจ“  ฉค„ €ˆ˜Š” public €ˆ˜กœ ‹คŒ ฐ™‹ค.
m_pPD CPrintDialog ฐฒด— Œ€ํ•œ ํฌธํ„ฐ. ถœ ฅ Œ€ํ™” ƒž ‚˜ํƒ€‚ธ‹ค.
m_bDirect ถœ ฅž‘—…ด ํ”„ฆฐํŠธ Œ€ํ™”ƒž „ˆ›ฐฉด TRUE ทธ™ธ—Š” FALSE
m_bPreview Print Preview € „ ํƒ˜ฉด TRUE, •„‹ˆฉด FALSE
m_bContinuePrinting TRUEกœ „ •˜ฉด ถœ ฅ ฃจํ”„ „†ํ•œ‹ค. FALSE€ ˜ฉด ํ”„ฆฐํŠธ ž‘—… ข…ฃŒ.
m_nCurPage UINTํ˜•‹„ ฐ–Š” ฐ’œกœ„œ ํ˜„žฌ ํŽ˜ด€ ฒˆํ˜ธ  €žฅ
m_nNumPreviewPages UINT preview šฐ‹ˆ„šฐ— ‚˜ํƒ€‚˜ žˆŠ” ํŽ˜ด€“ค˜ ฒˆํ˜ธ 1 or 2
m_lpUserData LPVOID ํ˜•‹„ ฐ–Š”‹ค. ƒ„ํ•œ ฐฒด— Œ€ํ•œ ํฌธํ„  €žฅํ•œ‹ค. ถœ ฅž‘—…— €ํ•œ ถ”€  •ณด  €žฅํ•˜Š” ฐฒด ƒ„ํ•  ˆ˜ žˆ„ก ํ•œ‹ค. CPrintInfo ฐฒด™€ —ฐ„ ‹œํ‚ฌ ˆ˜ žˆ„ก ํ•œ‹ค.
m_rectDraw CRect ฐฒด. ํŽ˜ด€—„œ ‚ฌšฉ €Šฅํ•œ ˜—ญ„ …ฆฌ ขŒํ‘œกœ  •˜ ํ•œ‹ค.
m_strPageDesc CString ฐฒดกœ ํ”„ฆฐํŠธ preview ™•ˆ— ํŽ˜ด€ ฒˆํ˜ธ ‚˜ํƒ€‚ดธฐ œ„ํ•ด ํ”„ ˆž„ ›—„œ ‚ฌšฉ˜Š” ํฌงท ฌธž—ด„ ํฌํ•จํ•œ‹ค.
m_bDocObject ‘šฉํ”„กœทธžจด lPrint ธํ„ฐํŽ˜ดŠค ํ†ตํ•˜—ฌ ถœ ฅํ•˜ฉด TRUEกœ „ •˜ฉฐ, ทธ ‡€ •Š€ ฒฝšฐ—Š” FALSEด‹ค.
m_dwFlags m_bDocObject€ TRUE•ŒงŒ œ ํ˜ธ. DWORDฐ’œกœ lPrint::Print—  „‹ฌœ ํ”Œž˜ทธ
m_nOffsetPage m_bDocObject€ TRUE•ŒงŒ œ ํšจ. lPrint job •ˆ—„œ ฒซฒˆงธ ํŽ˜ด€ offset„ €‹ค.

ธฐํƒ€ public ํ•จˆ˜„  œณตํ•˜‹ค.  ธฐ €ฐฎ‹ค. MSDN ฐพ•„ณดธธ;;

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:23:42
Processing time 0.0468 sec