Àμ⠴ëÈ »óÀÚ¸¦ Ç¥½Ã ÇÏ´Â »ç¿ëÀÚ´Â ¹®¼¸¦ Àμâ Çϱâ À§ÇÑ ¿É¼ÇÀ» ¼±ÅÃÇÒ ¼ö ÀÖµµ·Ï ÇÏ´Â »ùÇà Äڵ忡 ¼³¸í ÇÕ´Ï´Ù. »ùÇà Äڵ带 ¸ÕÀú PRINTDLG ±¸Á¶¸¦ ÃʱâÈ ÇÏ °í ´ëÈ »óÀÚ¸¦ Ç¥½Ã ÇÏ·Á¸é PrintDlg ÇÔ¼ö¸¦ È£Ãâ ÇÏ´Â ´ÙÀ½.
ÀÌ ¿¹Á¦¿¡¼´Â PRINTDLG ±¸Á¶ÀÇ Ç÷¡±× ±¸¼º¿ø¿¡¼ PD_RETURNDC Ç÷¡±×¸¦ ¼³Á¤ÇÕ´Ï´Ù. ±×·¯¸é PrintDlg hDC ±¸¼º¿ø¿¡ ¼±ÅÃÇÑ ÇÁ¸°ÅÍ¿¡ ´ë ÇÑ ÀåÄ¡ ÄÁÅØ½ºÆ® ÇÚµéÀ» ¹Ýȯ ÇÕ´Ï´Ù. ÇÚµéÀ» »ç¿ë ÇÏ ¿© ÇÁ¸°ÅÍ¿¡¼ Ãâ·ÂÀ» ·»´õ¸µÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÀԷ¿¡ »ùÇà ÄÚµå´Â NULL·Î hDevMode ¹× hDevNames ¸â¹ö¸¦ ¼³Á¤ÇÕ´Ï´Ù. ÀÌ·¯ÇÑ ¸â¹ö¿¡ ÇÚµéÀ» ¹Ýȯ ÇÔ¼ö°¡ TRUE¸¦ ¹Ýȯ ÇÏ´Â °æ¿ì DEVMODE ¿Í DEVNAMES ±¸Á¶¿¡¼ »ç¿ëÀÚÀÇ ÀÔ·ÂÀ» Æ÷ÇÔ ÇÏ °í ÇÁ¸°ÅÍ¿¡ ´ë ÇÑ Á¤º¸. ÀÌ Á¤º¸¸¦ »ç¿ë ÇÏ ¿© ¼±ÅÃÇÑ ÇÁ¸°ÅÍ·Î º¸³¾ Ãâ·Â Áغñ.
PRINTDLG pd;
HWND hwnd;
/ / PRINTDLG ÃʱâÈ
ZeroMemory (amp; pd, sizeof(PRINTDLG));
pd.lStructSize = sizeof(PRINTDLG);
pd.hwndOwner = hwnd;
pd.hDevMode = NULL; / / ¹«·á ¶Ç´Â hDevMode ÀúÀå ÇÏ´Â °ÍÀ» ÀØÁö ¸¶¼¼¿ä.
pd.hDevNames = NULL; / / ¹«·á ¶Ç´Â hDevNames ÀúÀå ÇÏ´Â °ÍÀ» ÀØÁö ¸¶¼¼¿ä.
pdÀÔ´Ï´Ù.Ç÷¡±× = PD_USEDEVMODECOPIESANDCOLLATE (ko) | PD_RETURNDC;
pd.nCopies = 1;
pd.nFromPage = 0xFFFF;
pd.nToPage = 0xFFFF;
pd.nMinPage = 1;
pd.nMaxPage = 0xFFFF;
°æ¿ì (PrintDlg(&pd) = TRUE) {
/ / Ãâ·Â ·»´õ¸µ¿¡ GDI È£Ãâ ÇÕ´Ï´Ù.
/ / ÇÒ ¶§ DC¸¦ »èÁ¦ ÇÕ´Ï´Ù.
DeleteDC(pd.hDC);
}