Fungsi CreateDCA (wingdi.h)
Fungsi CreateDC membuat konteks perangkat (DC) untuk perangkat menggunakan nama yang ditentukan.
Sintaks
HDC CreateDCA(
LPCSTR pwszDriver,
[in] LPCSTR pwszDevice,
LPCSTR pszPort,
[in] const DEVMODEA *pdm
);
Parameter
pwszDriver
Penunjuk ke string karakter yang dihentikan null yang menentukan DISPLAY atau nama perangkat tampilan tertentu. Untuk pencetakan, kami sarankan Anda meneruskan NULL ke lpszDriver karena GDI mengabaikan lpszDriver untuk perangkat printer.
[in] pwszDevice
Penunjuk ke string karakter yang dihentikan null yang menentukan nama perangkat output tertentu yang digunakan, seperti yang ditunjukkan oleh Print Manager (misalnya, Epson FX-80). Ini bukan nama model printer. Parameter lpszDevice harus digunakan.
Untuk mendapatkan nama yang valid untuk tampilan, panggil EnumDisplayDevices.
Jika lpszDriver adalah DISPLAY atau nama perangkat dari perangkat tampilan tertentu, maka lpszDevice harus NULL atau nama perangkat yang sama. Jika lpszDevice adalah NULL, maka DC dibuat untuk perangkat tampilan utama.
Jika ada beberapa monitor pada sistem, panggilan CreateDC(TEXT("DISPLAY"),NULL,NULL,NULL)
akan membuat DC yang mencakup semua monitor.
pszPort
Parameter ini diabaikan dan harus diatur ke NULL. Ini disediakan hanya untuk kompatibilitas dengan Windows 16-bit.
[in] pdm
Penunjuk ke struktur DEVMODE yang berisi data inisialisasi khusus perangkat untuk driver perangkat. Fungsi DocumentProperties mengambil struktur ini yang diisi untuk perangkat tertentu. Parameter pdm harus NULL jika driver perangkat menggunakan inisialisasi default (jika ada) yang ditentukan oleh pengguna.
Jika lpszDriver adalah DISPLAY, pdm harus NULL; GDI kemudian menggunakan DEVMODE perangkat tampilan saat ini.
Nilai kembali
Jika fungsi berhasil, nilai yang dikembalikan adalah handel ke DC untuk perangkat yang ditentukan.
Jika fungsi gagal, nilai yang dikembalikan adalah NULL.
Keterangan
Perhatikan bahwa handel ke DC hanya dapat digunakan oleh satu utas kapan saja.
Untuk parameter lpszDriver dan lpszDevice, panggil EnumDisplayDevices untuk mendapatkan nama yang valid untuk tampilan.
Saat Anda tidak lagi memerlukan DC, panggil fungsi DeleteDC .
Jika lpszDriver atau lpszDevice adalah DISPLAY, utas yang memanggil CreateDC memiliki HDC yang dibuat. Ketika utas ini dihancurkan, HDC tidak lagi valid. Dengan demikian, jika Anda membuat HDC dan meneruskannya ke utas lain, maka keluar dari utas pertama, utas kedua tidak akan dapat menggunakan HDC.
Saat Anda memanggil CreateDC untuk membuat HDC untuk perangkat tampilan, Anda harus meneruskan ke pdmbaik NULL atau pointer ke DEVMODE yang cocok dengan DEVMODE saat ini dari perangkat tampilan yang ditentukan lpszDevice . Kami menyarankan untuk meneruskan NULL dan tidak mencoba untuk sama persis dengan DEVMODE untuk perangkat tampilan saat ini.
Ketika Anda memanggil CreateDC untuk membuat HDC untuk perangkat printer, driver printer memvalidasi DEVMODE. Jika pengandar pencetak menentukan bahwa DEVMODE tidak valid (artinya, pengandar pencetak tidak dapat mengonversi atau menggunakan DEVMODE), pengandar pencetak menyediakan DEVMODE default untuk membuat HDC untuk perangkat pencetak.
ICM: Untuk mengaktifkan ICM, atur anggota dmICMMethod dari struktur DEVMODE (ditujukkan oleh parameter pInitData ) ke nilai yang sesuai.
Contoh
Misalnya, lihat Menangkap Gambar.
Catatan
Header wingdi.h mendefinisikan CreateDC sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta pra-prosesor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
Target Platform | Windows |
Header | wingdi.h (sertakan Windows.h) |
Pustaka | Gdi32.lib |
DLL | Gdi32.dll |