Bagikan melalui


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

Lihat juga

DEVMODE

DOCINFO

DeleteDC

Fungsi Konteks Perangkat

Gambaran Umum Konteks Perangkat

DocumentProperties

EnumDisplayDevices

Beberapa Monitor Tampilan

StartDoc