Kelas jendela turunan
Anda dapat membuat jendela langsung dari CWnd
, atau mendapatkan kelas jendela baru dari CWnd
. Ini adalah cara Anda biasanya membuat jendela kustom Anda sendiri. Namun, sebagian besar jendela yang digunakan dalam program kerangka kerja malah dibuat dari salah CWnd
satu kelas jendela bingkai -turunan yang disediakan oleh MFC.
Kelas jendela bingkai
CFrameWnd
Digunakan untuk jendela bingkai SDI yang membingkai satu dokumen dan tampilannya. Jendela bingkai adalah jendela bingkai utama untuk aplikasi dan jendela bingkai untuk dokumen saat ini.
CMDIFrameWnd
Digunakan sebagai jendela bingkai utama untuk aplikasi MDI. Jendela bingkai utama adalah kontainer untuk semua jendela dokumen MDI dan membagikan bilah menunya dengan jendela tersebut. Jendela bingkai MDI adalah jendela tingkat atas yang muncul di desktop.
CMDIChildWnd
Digunakan untuk dokumen individual yang dibuka di jendela bingkai utama MDI. Setiap dokumen dan tampilannya dibingkai oleh jendela bingkai anak MDI yang dimuat oleh jendela bingkai utama MDI. Jendela anak MDI terlihat seperti jendela bingkai biasa tetapi terkandung di dalam jendela bingkai MDI alih-alih duduk di desktop. Namun, jendela anak MDI tidak memiliki bilah menu sendiri. Ini harus berbagi bilah menu jendela bingkai MDI yang berisinya.
Untuk informasi selengkapnya, lihat Jendela bingkai.
Kelas jendela lain yang berasal dari CWnd
Selain jendela bingkai, beberapa kategori utama jendela lainnya berasal dari CWnd
:
Tampilan:
Tampilan dibuat menggunakanCWnd
kelasCView
-turunan (atau salah satu kelas turunannya). Tampilan dilampirkan ke dokumen dan bertindak sebagai perantara antara dokumen dan pengguna. Tampilan adalah jendela anak (bukan anak MDI) yang biasanya mengisi area klien dari jendela bingkai SDI atau jendela bingkai anak MDI (atau bagian dari area klien yang tidak tercakup oleh toolbar atau bilah status).Kotak Dialog:
Kotak dialog dibuat menggunakanCWnd
kelasCDialog
-turunan .Formulir:
Tampilan formulir berdasarkan sumber daya templat dialog, seperti kotak dialog, dibuat menggunakan kelasCFormView
, ,CRecordView
atauCDaoRecordView
.Kontrol:
Kontrol seperti tombol, kotak daftar, dan kotak kombo dibuat menggunakan kelas lain yang berasal dariCWnd
. Lihat Topik kontrol.Bilah Kontrol:
Jendela anak yang berisi kontrol. Contohnya termasuk toolbar dan bilah status. Lihat Bilah kontrol.
Hierarki Kelas Jendela
Lihat bagan hierarki MFC di Referensi MFC. Tampilan dijelaskan dalam arsitektur Dokumen/tampilan. Kotak dialog dijelaskan dalam kotak Dialog.
Membuat kelas jendela Tujuan Khusus Anda sendiri
Selain kelas jendela yang disediakan oleh pustaka kelas, Anda mungkin memerlukan jendela anak tujuan khusus. Untuk membuat jendela seperti itu, buat kelas turunan Anda sendiri CWnd
dan jadikan jendela anak dari bingkai atau tampilan. Perlu diingat bahwa kerangka kerja mengelola sejauh mana area klien dari jendela bingkai dokumen. Sebagian besar area klien dikelola oleh tampilan, tetapi jendela lain, seperti bilah kontrol atau jendela kustom Anda sendiri, dapat berbagi ruang dengan tampilan. Anda mungkin perlu berinteraksi dengan mekanisme di kelas CView
dan CControlBar
untuk memposisikan jendela anak di area klien jendela bingkai.
Membuat jendela membahas pembuatan objek jendela dan jendela yang dikelolanya.