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 gambar independen perangkat di Windows. Konteks perangkat dapat digunakan untuk menggambar ke layar, ke printer, atau ke metafile.

Objek CPaintDC merangkum idiom umum Windows, memanggil BeginPaint fungsi, lalu menggambar dalam konteks perangkat, lalu memanggil EndPaint fungsi. 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 diteruskan yang CPaintDC sudah disiapkan (melalui OnPrepareDC), dan Anda cukup menggambarnya. Ini dihancurkan oleh kerangka kerja dan konteks perangkat yang mendasar dirilis ke Windows setelah kembali dari panggilan ke fungsi Anda OnDraw .

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 yang CPaintDC diteruskan ke OnDraw, Anda harus dalam hal ini memanggil OnPrepareDC sendiri.

Gambar 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

Baca juga

Objek Jendela