Dokumen, tampilan, dan kerangka kerja
Inti dari kerangka kerja MFC adalah konsep dokumen dan tampilan. Dokumen adalah objek data tempat pengguna berinteraksi dalam sesi pengeditan. Ini dibuat oleh perintah Baru atau Buka pada menu File dan biasanya disimpan dalam file. (Dokumen MFC standar, berasal dari kelas CDocument
, berbeda dari dokumen Aktif dan dokumen gabungan OLE.) Tampilan adalah objek jendela tempat pengguna berinteraksi dengan dokumen.
Objek kunci dalam aplikasi yang sedang berjalan adalah:
Objek utas
Jika aplikasi Anda membuat alur eksekusi terpisah—misalnya, untuk melakukan penghitungan di latar belakang—Anda akan menggunakan kelas yang berasal dari
CWinThread
.CWinApp
itu sendiri berasal dariCWinThread
dan mewakili utas utama eksekusi (atau proses utama) dalam aplikasi Anda. Anda juga dapat menggunakan MFC di utas sekunder.Objek aplikasi
Kelas aplikasi Anda (berasal dari
CWinApp
) mengontrol semua objek di atas dan menentukan perilaku aplikasi seperti inisialisasi dan pembersihan. Satu-satunya objek aplikasi aplikasi membuat dan mengelola templat dokumen untuk jenis dokumen apa pun yang didukung aplikasi.Templat atau templat dokumen
Templat dokumen mengatur pembuatan dokumen, tampilan, dan jendela bingkai. Kelas templat dokumen tertentu, berasal dari kelas
CDocTemplate
, membuat dan mengelola semua dokumen terbuka dari satu jenis. Aplikasi yang mendukung lebih dari satu jenis dokumen memiliki beberapa templat dokumen. Gunakan kelas CSingleDocTemplate untuk aplikasi SDI, atau gunakan kelasCMultiDocTemplate
untuk aplikasi MDI.Jendela bingkai
Tampilan ditampilkan di dalam "jendela bingkai dokumen." Dalam aplikasi SDI, jendela bingkai dokumen juga merupakan "jendela bingkai utama" untuk aplikasi. Dalam aplikasi MDI, jendela dokumen adalah jendela anak yang ditampilkan di dalam jendela bingkai utama. Kelas jendela bingkai utama turunan Anda menentukan gaya dan karakteristik lain dari jendela bingkai yang berisi tampilan Anda. Jika Anda perlu menyesuaikan jendela bingkai, berasal dari
CFrameWnd
untuk menyesuaikan jendela bingkai dokumen untuk aplikasi SDI. Berasal dariCMDIFrameWnd
untuk menyesuaikan jendela bingkai utama untuk aplikasi MDI. Juga mendapatkan kelas dariCMDIChildWnd
untuk menyesuaikan setiap jenis jendela bingkai dokumen MDI yang berbeda yang didukung aplikasi Anda.Dokumen atau dokumen.
Kelas dokumen Anda (berasal dari
CDocument
) menentukan data aplikasi Anda.Jika Anda menginginkan fungsionalitas OLE dalam aplikasi Anda, dapatkan kelas dokumen Anda dari
COleDocument
atau salah satu kelas turunannya, tergantung pada jenis fungsionalitas yang Anda butuhkan.Tampilan atau tampilan.
Kelas tampilan Anda (berasal dari
CView
) adalah "jendela pada data" pengguna. Kelas tampilan mengontrol bagaimana pengguna melihat data dokumen Anda dan berinteraksi dengannya. Dalam beberapa kasus, Anda mungkin ingin dokumen memiliki beberapa tampilan data.Jika Anda perlu menggulir, berasal dari
CScrollView
. Jika tampilan Anda memiliki antarmuka pengguna yang ditata dalam sumber daya dialog-templat, berasal dariCFormView
. Untuk data teks sederhana, gunakan atau dapatkan dariCEditView
. Untuk aplikasi akses data berbasis formulir, seperti program entri data, berasal dariCRecordView
(untuk ODBC). Juga tersedia kelasCTreeView
,CListView
, danCRichEditView
.
Dalam aplikasi yang sedang berjalan, objek ini secara kooperatif menanggapi tindakan pengguna, terikat bersama oleh perintah dan pesan lainnya. Satu objek aplikasi mengelola satu atau beberapa templat dokumen. Setiap templat dokumen membuat dan mengelola satu atau beberapa dokumen (tergantung pada apakah aplikasi tersebut adalah SDI atau MDI). Pengguna melihat dan memanipulasi dokumen melalui tampilan yang terkandung di dalam jendela bingkai. Gambar berikut menunjukkan hubungan di antara objek-objek ini untuk aplikasi SDI.
Objek dalam Aplikasi SDI yang Sedang Berjalan
Keluarga artikel lainnya menjelaskan bagaimana alat kerangka kerja, MFC Application Wizard, dan editor sumber daya, membuat objek ini, cara mereka bekerja sama, dan bagaimana Anda menggunakannya dalam pemrograman Anda. Dokumen, tampilan, dan jendela bingkai dibahas secara lebih rinci di Objek Jendela dan Arsitektur Dokumen/Tampilan.