Bagikan melalui


Beberapa Tipe Dokumen, Tampilan, dan Jendela Bingkai

Hubungan standar di antara dokumen, tampilannya, dan jendela bingkainya dijelaskan dalam Pembuatan Dokumen/Tampilan. Banyak aplikasi mendukung satu jenis dokumen (tetapi mungkin beberapa dokumen terbuka dari jenis tersebut) dengan satu tampilan pada dokumen dan hanya satu jendela bingkai per dokumen. Tetapi beberapa aplikasi mungkin perlu mengubah satu atau beberapa default tersebut.

Apa yang ingin Anda ketahui lebih lanjut tentang

Beberapa Tipe Dokumen

MFC Application Wizard membuat satu kelas dokumen untuk Anda. Namun, dalam beberapa kasus, Anda mungkin perlu mendukung lebih dari satu jenis dokumen. Misalnya, aplikasi Anda mungkin memerlukan dokumen lembar kerja dan bagan. Setiap jenis dokumen diwakili oleh kelas dokumennya sendiri dan mungkin oleh kelas tampilannya sendiri juga. Saat pengguna memilih perintah File Baru, kerangka kerja menampilkan kotak dialog yang mencantumkan jenis dokumen yang didukung. Kemudian membuat dokumen jenis yang dipilih pengguna. Setiap jenis dokumen dikelola oleh objek templat dokumennya sendiri.

Untuk membuat kelas dokumen tambahan, lihat Menambahkan Kelas. Pilih CDocument sebagai Jenis Kelas untuk berasal dan berikan informasi dokumen yang diminta. Kemudian terapkan data kelas baru.

Untuk memberi tahu kerangka kerja tentang kelas dokumen tambahan Anda, Anda harus menambahkan panggilan kedua ke AddDocTemplate di penimpaan InitInstance kelas aplikasi Anda. Untuk informasi selengkapnya, lihat Templat Dokumen.

Beberapa Tampilan

Banyak dokumen hanya memerlukan satu tampilan, tetapi dimungkinkan untuk mendukung lebih dari satu tampilan satu dokumen. Untuk membantu Anda menerapkan beberapa tampilan, objek dokumen menyimpan daftar tampilannya, menyediakan fungsi anggota untuk menambahkan dan menghapus tampilan, dan menyediakan fungsi anggota UpdateAllViews untuk memberi tahu beberapa tampilan saat data dokumen telah berubah.

MFC mendukung tiga antarmuka pengguna umum yang memerlukan beberapa tampilan pada dokumen yang sama. Model-model ini adalah:

  • Lihat objek dari kelas yang sama, masing-masing di jendela bingkai dokumen MDI terpisah.

    Anda mungkin ingin mendukung pembuatan jendela bingkai kedua pada dokumen. Pengguna dapat memilih perintah Jendela Baru untuk membuka bingkai kedua dengan tampilan dokumen yang sama lalu menggunakan dua bingkai untuk melihat bagian dokumen yang berbeda secara bersamaan. Kerangka kerja mendukung perintah Jendela Baru pada menu Jendela untuk aplikasi MDI dengan menduplikasi jendela bingkai awal dan melihat yang dilampirkan ke dokumen.

  • Lihat objek dari kelas yang sama di jendela bingkai dokumen yang sama.

    Jendela pemisah membagi ruang tampilan dari satu jendela dokumen menjadi beberapa tampilan dokumen terpisah. Kerangka kerja membuat beberapa objek tampilan dari kelas tampilan yang sama. Untuk informasi selengkapnya, lihat Windows Pemisah.

  • Lihat objek dari kelas yang berbeda dalam satu jendela bingkai.

    Dalam model ini, variasi jendela pemisah, beberapa tampilan berbagi satu jendela bingkai. Tampilan dibangun dari kelas yang berbeda, setiap tampilan menyediakan cara yang berbeda untuk melihat dokumen yang sama. Misalnya, satu tampilan mungkin menampilkan dokumen pemrosesan kata dalam mode normal sementara tampilan lainnya memperlihatkannya dalam mode kerangka. Kontrol pemisah memungkinkan pengguna untuk menyesuaikan ukuran relatif tampilan.

Gambar berikut, dibagi menjadi beberapa bagian a, b, dan c, menunjukkan tiga model antarmuka pengguna dalam urutan yang disajikan di atas.

Diagram showing three multiple view user interfaces.
Antarmuka Pengguna Beberapa Tampilan

Kerangka kerja menyediakan model ini dengan menerapkan perintah Jendela Baru dan dengan menyediakan kelas CSplitterWnd, seperti yang dibahas di Splitter Windows. Anda dapat menerapkan model lain menggunakan ini sebagai titik awal Anda. Untuk program sampel yang mengilustrasikan berbagai konfigurasi tampilan, jendela bingkai, dan pemisah, lihat Sampel MFC.

Untuk informasi selengkapnya tentang UpdateAllViews, lihat CView kelas di Referensi MFC dan sampel Coretan.

Beberapa Jendela Bingkai

Anda dapat menggunakan perintah Jendela Baru pada menu Jendela untuk aplikasi MDI untuk membuat jendela bingkai kedua pada dokumen yang sama. Untuk informasi selengkapnya, lihat model pertama dalam gambar Antarmuka Pengguna Multi-Tampilan.

Windows Pemisah

Di jendela pemisah, jendela adalah, atau bisa, dibagi menjadi dua atau beberapa panel yang dapat digulir. Kontrol pemisah (atau "kotak terpisah") di bingkai jendela di samping bilah gulir memungkinkan pengguna untuk menyesuaikan ukuran relatif panel. Setiap panel adalah tampilan pada dokumen yang sama. Dalam pemisah "dinamis", tampilannya adalah kelas yang sama, seperti yang ditunjukkan di bagian b dari gambar Antarmuka Pengguna Multi-Tampilan. Dalam pemisah "statis", tampilannya bisa dari kelas yang berbeda. Jendela pemisah dari kedua jenis didukung oleh kelas CSplitterWnd.

Jendela pemisah dinamis, dengan tampilan kelas yang sama, memungkinkan pengguna untuk membagi jendela menjadi beberapa panel sesering mungkin lalu menggulir panel yang berbeda untuk melihat bagian dokumen yang berbeda. Pengguna juga dapat membuka jendela untuk menghapus tampilan tambahan. Jendela pemisah yang ditambahkan ke sampel Scribble adalah contohnya. Topik itu menjelaskan teknik untuk membuat jendela pemisah dinamis. Jendela pemisah dinamis ditampilkan di bagian b dari gambar Antarmuka Pengguna Multi-Tampilan.

Jendela pemisah statis, dengan tampilan kelas yang berbeda, dimulai dengan jendela dibagi menjadi beberapa panel, masing-masing dengan tujuan yang berbeda. Misalnya, di editor bitmap Visual C++, jendela gambar memperlihatkan dua panel berdampingan. Panel sebelah kiri menampilkan gambar bitmap berukuran hidup. Panel kanan menampilkan gambar yang diperbesar atau diperbesar dari bitmap yang sama. Panel dipisahkan oleh "bilah pemisah" yang dapat diseret pengguna untuk mengubah ukuran relatif panel. Jendela pemisah statis ditampilkan di bagian c dari gambar Antarmuka Pengguna Multi-Tampilan.

Untuk informasi selengkapnya, lihat kelas CSplitterWnd di Referensi MFC dan Sampel MFC.

Baca juga

Arsitektur Dokumen/Tampilan