Menambahkan Kontrol Dengan Tangan
Anda dapat menambahkan kontrol ke kotak dialog dengan editor dialog atau menambahkannya sendiri, dengan kode.
Untuk membuat objek kontrol sendiri, Anda biasanya akan menyematkan objek kontrol C++ dalam dialog C++ atau objek jendela bingkai. Seperti banyak objek lain dalam kerangka kerja, kontrol memerlukan konstruksi dua tahap. Anda harus memanggil fungsi Buat anggota kontrol sebagai bagian dari pembuatan kotak dialog induk atau jendela bingkai. Untuk kotak dialog, ini biasanya dilakukan di OnInitDialog, dan untuk jendela bingkai, di OnCreate.
Contoh berikut menunjukkan bagaimana Anda mungkin mendeklarasikan CEdit
objek dalam deklarasi kelas kelas dialog turunan lalu memanggil Create
fungsi anggota di OnInitDialog
. CEdit
Karena objek dinyatakan sebagai objek yang disematkan, objek tersebut secara otomatis dibangun ketika objek dialog dibangun, tetapi masih harus diinisialisasi dengan fungsi anggotanya sendiriCreate
.
class CCustomDialog : public CDialog
{
CEdit m_edit;
virtual BOOL OnInitDialog();
};
Fungsi berikut OnInitDialog
menyiapkan persegi panjang, lalu memanggil Create
untuk membuat kontrol edit Windows dan melampirkannya ke objek yang tidak diinisialisasi CEdit
.
BOOL CCustomDialog::OnInitDialog()
{
CDialog::OnInitDialog();
CRect rect(85, 110, 180, 210);
m_edit.Create(WS_CHILD | WS_VISIBLE | WS_TABSTOP |
ES_AUTOHSCROLL | WS_BORDER,
rect, this, IDC_EXTRA_EDIT);
m_edit.SetFocus();
return FALSE;
}
Setelah membuat objek edit, Anda juga dapat mengatur fokus input ke kontrol dengan memanggil SetFocus
fungsi anggota. Terakhir, Anda mengembalikan 0 dari OnInitDialog
untuk menunjukkan bahwa Anda mengatur fokus. Jika Anda mengembalikan nilai bukan nol, manajer dialog mengatur fokus ke item kontrol pertama dalam daftar item dialog. Dalam kebanyakan kasus, Anda mungkin ingin menambahkan kontrol ke kotak dialog Anda dengan editor dialog.
Baca juga
Membuat dan Menggunakan Kontrol
Kontrol
CDialog::OnInitDialog