Bagikan melalui


Membuat Lembar Properti Tanpa Mode

Biasanya, lembar properti yang Anda buat akan dimodifikasi. Saat menggunakan lembar properti modal, pengguna harus menutup lembar properti sebelum menggunakan bagian lain dari aplikasi. Artikel ini menjelaskan metode yang dapat Anda gunakan untuk membuat lembar properti tanpa mode yang memungkinkan pengguna untuk menjaga lembar properti tetap terbuka saat menggunakan bagian lain dari aplikasi.

Untuk menampilkan lembar properti sebagai kotak dialog tanpa mode, bukan sebagai kotak dialog modal, panggil CPropertySheet::Buat alih-alih DoModal. Anda juga harus menerapkan beberapa tugas tambahan untuk mendukung lembar properti tanpa mode.

Salah satu tugas tambahan adalah bertukar data antara lembar properti dan objek eksternal yang dimodifikasi saat lembar properti terbuka. Ini umumnya merupakan tugas yang sama seperti untuk kotak dialog tanpa mode standar. Bagian dari tugas ini adalah menerapkan saluran komunikasi antara lembar properti tanpa mode dan objek eksternal tempat pengaturan properti diterapkan. Implementasi ini jauh lebih mudah jika Anda mendapatkan kelas dari CPropertySheet untuk lembar properti modeless Anda. Artikel ini mengasumsikan Anda telah melakukannya.

Salah satu metode untuk berkomunikasi antara lembar properti tanpa mode dan objek eksternal (pilihan saat ini dalam tampilan, misalnya) adalah menentukan penunjuk dari lembar properti ke objek eksternal. Tentukan fungsi (disebut seperti SetMyExternalObject) di CPropertySheetkelas -turunan untuk mengubah pointer setiap kali fokus berubah dari satu objek eksternal ke objek eksternal lainnya. Fungsi SetMyExternalObject perlu mengatur ulang pengaturan untuk setiap halaman properti untuk mencerminkan objek eksternal yang baru dipilih. Untuk mencapai hal ini, SetMyExternalObject fungsi harus dapat mengakses objek CPropertyPage milik CPropertySheet kelas .

Cara paling mudah untuk menyediakan akses ke halaman properti dalam lembar properti adalah dengan menyematkan CPropertyPage objek dalam CPropertySheetobjek -turunan. Menyematkan CPropertyPage objek dalam CPropertySheetobjek -turunan berbeda dari desain umum untuk kotak dialog modal, di mana pemilik lembar properti membuat CPropertyPage objek dan meneruskannya ke lembar properti melalui CPropertySheet::AddPage.

Ada banyak alternatif antarmuka pengguna untuk menentukan kapan pengaturan lembar properti tanpa mode harus diterapkan ke objek eksternal. Salah satu alternatifnya adalah menerapkan pengaturan halaman properti saat ini setiap kali pengguna mengubah nilai apa pun. Alternatif lain adalah menyediakan tombol Terapkan, yang memungkinkan pengguna untuk mengakumulasi perubahan di halaman properti sebelum menerapkannya ke objek eksternal. Untuk informasi tentang cara menangani tombol Terapkan, lihat artikel Menangani Tombol Terapkan.

Baca juga

Lembar Properti
Bertukar Data
Bekerja dengan Kotak Dialog di MFC