Bagikan melalui


Fungsi CreateDCA (wingdi.h)

Fungsi CreateDC membuat konteks perangkat (DC) untuk perangkat menggunakan nama yang ditentukan.

Sintaksis

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 null, maka DC dibuat untuk perangkat tampilan utama.

Jika ada beberapa monitor pada sistem, memanggil CreateDC(TEXT("DISPLAY"),NULL,NULL,NULL) akan membuat DC yang mencakup semua monitor.

pszPort

Parameter ini diabaikan dan harus diatur ke NULL. Ini hanya disediakan 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 menggunakanDEVMODE perangkat tampilan saat ini .

Mengembalikan nilai

Jika fungsi berhasil, nilai pengembalian adalah handel ke DC untuk perangkat yang ditentukan.

Jika fungsi gagal, nilai yang dikembalikan adalah NULL.

Komentar

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 pdm null atau penunjuk ke DEVMODE yang cocok dengan DEVMODE saat ini dari perangkat tampilan yang lpszDevice tentukan. Kami menyarankan untuk meneruskan NULL dan tidak mencoba mencocokkan DEVMODE untuk perangkat tampilan saat ini.

Saat Anda memanggil CreateDC untuk membuat HDC untuk perangkat printer, driver printer memvalidasi DEVMODE. Jika pengandar pencetak menentukan bahwa DEVMODE tidak valid (artinya, pengandar printer tidak dapat mengonversi atau mengonsumsi DEVMODE), pengandar printer menyediakan DEVMODE default untuk membuat HDC untuk perangkat printer.

ICM: Untuk mengaktifkan ICM, atur dmICMMethod anggota struktur DEVMODE (ditujukkan oleh parameter pInitData ) ke nilai yang sesuai.

Contoh

Misalnya, lihat Menangkap Gambar.

Nota

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

Syarat Nilai
klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Platform Target Windows
Header wingdi.h (termasuk 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