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.0171 sec