Yazdır iletişim kutusunu görüntüleme

Bir kullanıcı bir belge yazdırma seçeneklerini seçebilir böylece Yazdır iletişim kutusunu gösterir örnek kod açıklanmıştır. Örnek kod öncelikle bir PRINTDLG yapısı başlatır ve sonra iletişim kutusunu görüntülemek için PrintDlg işlevini çağırır.

Bu örnek, PRINTDLG yapısını bayrakları üyesi için pd_returndc bayrağını ayarlar. Bu, hDC üyesi seçilen yazıcının aygıt içerik tanıtıcısı dönmek PrintDlg neden olur. Yazıcıdaki çıkış işlemek için tanıtıcı kullanabilirsiniz.

Giriş örnek kod hDevMode ve hDevNames üye null olarak ayarlar. Fonksiyon true dönerse, bu üyelerin tanıtıcıları dönmek devmode ve devnames yapıları kullanıcı girişi içeren ve yazıcı hakkında bilgi. Çıkış seçili yazıcıya gönderilmek üzere hazırlamak için bu bilgileri kullanabilirsiniz.

PRINTDLG pd;
hwnd hwnd;

/ / PRINTDLG başlatılamadı
ZeroMemory (amp; pd, sizeof(PRINTDLG));
PD.lStructSize = sizeof(PRINTDLG);
PD.hwndOwner = hwnd;
PD.hDevMode = null;      / / Özgür ya da hDevMode depolamak için unutmayın.
PD.hDevNames = null;      / / Ücretsiz veya hDevNames depolamak için unutmayın.
PD.Bayrak = PD_USEDEVMODECOPIESANDCOLLATE | PD_RETURNDC; 
PD.nCopies = 1;
PD.nFromPage = 0xFFFF; 
PD.nToPage = 0xFFFF; 
PD.nMinPage = 1; 
PD.nMaxPage = 0xFFFF; 

Eğer (PrintDlg(&pd) == true) {}

/ / Çıkış işlemek için GDI çağırır. 

    / / Bitince dc silin.
    DeleteDC(pd.hDC);
} 

Index