Bagikan melalui


Konteks Perangkat

Konteks perangkat adalah struktur data Windows yang berisi informasi tentang atribut gambar perangkat seperti tampilan atau printer. Semua panggilan gambar dilakukan melalui objek konteks perangkat, yang merangkum API Windows untuk menggambar garis, bentuk, dan teks. Konteks perangkat memungkinkan penggambaran yang independen dari perangkat di Windows. Konteks perangkat dapat digunakan untuk menggambar ke layar, ke printer, atau ke metafile.

Objek CPaintDC merangkum idiom umum Windows dengan memanggil fungsi BeginPaint, kemudian menggambar dalam konteks perangkat, dan akhirnya memanggil fungsi EndPaint. CPaintDC Konstruktor memanggil BeginPaint Anda, dan destruktor memanggil EndPaint. Proses yang disederhanakan adalah membuat objek CDC , menggambar, lalu menghancurkan CDC objek. Dalam kerangka kerja, sebagian besar bahkan proses ini otomatis. Secara khusus, fungsi Anda OnDraw diberikan CPaintDC yang sudah disiapkan (melalui OnPrepareDC), dan Anda cukup menggambar di dalamnya. Ini dihancurkan oleh kerangka dan konteks perangkat dasar dilepaskan ke Windows setelah panggilan ke fungsi Anda OnDraw selesai.

Objek CClientDC merangkum bekerja dengan konteks perangkat yang hanya mewakili area klien jendela. CClientDC Konstruktor memanggil GetDC fungsi , dan destruktor memanggil ReleaseDC fungsi . Objek CWindowDC merangkum konteks perangkat yang mewakili seluruh jendela, termasuk bingkainya.

Objek CMetaFileDC merangkum gambar ke dalam metafile Windows. Berbeda dengan CPaintDC yang diteruskan ke OnDraw, dalam hal ini Anda harus memanggil OnPrepareDC sendiri.

Menggambar dengan Mouse

Sebagian besar gambar dalam program kerangka kerja — dan dengan demikian sebagian besar pekerjaan konteks perangkat - dilakukan dalam fungsi anggota tampilan OnDraw . Namun, Anda masih dapat menggunakan objek konteks perangkat untuk tujuan lain. Misalnya, untuk memberikan umpan balik pelacakan untuk gerakan mouse dalam tampilan, Anda perlu menggambar langsung ke tampilan tanpa menunggu OnDraw untuk dipanggil.

Dalam kasus seperti itu, Anda dapat menggunakan objek konteks perangkat CClientDC untuk menggambar langsung ke tampilan.

Apa yang ingin Anda ketahui lebih lanjut tentang

Lihat juga

Objek Jendela