Bagikan melalui


Kelas CMFCEditBrowseCtrl

Kelas CMFCEditBrowseCtrl mendukung kontrol edit telusuri, yang merupakan kotak teks yang dapat diedit yang secara opsional berisi tombol telusuri. Saat pengguna mengklik tombol telusuri, kontrol melakukan tindakan kustom atau menampilkan kotak dialog standar yang berisi browser file atau browser folder.

Sintaks

class CMFCEditBrowseCtrl : public CEdit

Anggota

Konstruktor Publik

Nama Deskripsi
CMFCEditBrowseCtrl::CMFCEditBrowseCtrl Konstruktor default.
CMFCEditBrowseCtrl::~CMFCEditBrowseCtrl Destruktor.

Metode Publik

Nama Deskripsi
CMFCEditBrowsectrl::EnableBrowseButton Mengaktifkan atau menonaktifkan (menyembunyikan) tombol telusuri.
CMFCEditBrowseCtrl::EnableFileBrowseButton Mengaktifkan tombol telusuri dan menempatkan kontrol jelajah edit dalam mode penjelajahan file.
CMFCEditBrowseCtrl::EnableFolderBrowseButton Mengaktifkan tombol telusuri dan menempatkan kontrol jelajah edit dalam mode penjelajahan folder.
CMFCEditBrowsectrl::GetMode Mengembalikan mode telusur saat ini.
CMFCEditBrowseCtrl::OnAfterUpdate Dipanggil oleh kerangka kerja setelah kontrol penelusuran pengeditan diperbarui dengan hasil tindakan telusuri.
CMFCEditBrowsectrl::OnBrowse Dipanggil oleh kerangka kerja setelah pengguna mengklik tombol telusuri.
CMFCEditBrowseCtrl::OnChangeLayout Mengurai ulang kontrol telusuri edit saat ini.
CMFCEditBrowseCtrl::OnDrawBrowseButton Dipanggil oleh kerangka kerja untuk menggambar tombol telusuri.
CMFCEditBrowseCtrl::OnIllegalFileName Dipanggil oleh kerangka kerja ketika nama file ilegal dimasukkan dalam kontrol edit.
CMFCEditBrowseCtrl::PreTranslateMessage Menerjemahkan pesan jendela sebelum dikirim ke fungsi Windows TranslateMessage dan DispatchMessage . Untuk sintaks dan informasi selengkapnya, lihat CWnd::P reTranslateMessage.
CMFCEditBrowseCtrl::SetBrowseButtonImage Mengatur gambar kustom untuk tombol telusuri.

Keterangan

Gunakan kontrol edit telusuri untuk memilih nama file atau folder. Secara opsional, gunakan kontrol untuk melakukan tindakan kustom seperti menampilkan kotak dialog. Anda dapat menampilkan atau tidak menampilkan tombol telusuri, dan Anda dapat menerapkan label atau gambar kustom pada tombol .

Mode telusuri kontrol telusur edit menentukan apakah kontrol tersebut menampilkan tombol telusuri dan tindakan apa yang terjadi saat tombol diklik. Untuk informasi selengkapnya, lihat metode GetMode .

Kelas CMFCEditBrowseCtrl mendukung mode berikut.

  • mode kustom

    Tindakan kustom dilakukan saat pengguna mengklik tombol telusuri. Misalnya, Anda dapat menampilkan kotak dialog khusus aplikasi.

  • mode file

    Kotak dialog pemilihan file standar ditampilkan saat pengguna mengklik tombol telusuri.

  • mode folder

    Kotak dialog pemilihan folder standar ditampilkan saat pengguna mengklik tombol telusuri.

Cara: Menentukan Kontrol Telusuri Edit

Lakukan langkah-langkah berikut untuk menggabungkan kontrol penelusuran edit di aplikasi Anda:

  1. Jika Anda ingin menerapkan mode penjelajahan kustom, dapatkan kelas Anda sendiri dari CMFCEditBrowseCtrl kelas lalu ambil alih metode CMFCEditBrowseCtrl::OnBrowse . Dalam metode yang ditimpa, jalankan tindakan telusuri kustom dan perbarui kontrol edit telusuri dengan hasilnya.

  2. Sematkan CMFCEditBrowseCtrl objek atau edit turunan telusuri objek kontrol ke dalam objek jendela induk.

  3. Jika Anda menggunakan Panduan Kelas untuk membuat kotak dialog, tambahkan kontrol edit (CEdit) ke formulir kotak dialog. Selain itu, tambahkan variabel untuk mengakses kontrol di file header Anda. Di file header Anda, ubah jenis variabel dari CEdit menjadi CMFCEditBrowseCtrl. Kontrol penelusuran edit akan dibuat secara otomatis. Jika Anda tidak menggunakan Panduan Kelas, tambahkan CMFCEditBrowseCtrl variabel ke file header Anda lalu panggil metodenya Create .

  4. Jika Anda menambahkan kontrol penelusuran edit ke kotak dialog, gunakan alat ClassWizard untuk menyiapkan pertukaran data.

  5. Panggil metode EnableFolderBrowseButton, EnableFileBrowseButton, atau EnableBrowseButton untuk mengatur mode telusur dan menampilkan tombol telusuri. Panggil metode GetMode untuk mendapatkan mode penelusuran saat ini.

  6. Untuk menyediakan gambar kustom untuk tombol telusuri, panggil metode SetBrowseButtonImage atau ambil alih metode OnDrawBrowseButton .

  7. Untuk menghapus tombol telusuri dari kontrol penelusuran edit, panggil metode EnableBrowseButton dengan parameter bEnable diatur ke FALSE.

Hierarki Warisan

CObject

CCmdTarget

CWnd

CEdit

CMFCEditBrowseCtrl

Contoh

Contoh berikut menunjukkan cara menggunakan dua metode di CMFCEditBrowseCtrl kelas: EnableFolderBrowseButton dan EnableFileBrowseButton. Contoh ini adalah bagian dari sampel Kontrol Baru.

CMFCEditBrowseCtrl m_wndFolderEdit;
CMFCEditBrowseCtrl m_wndFileEdit;
// enable the browse button and put the control in file browse mode
m_wndFolderEdit.EnableFolderBrowseButton();
// enable the browse button and put the control in the folder browse mode
m_wndFileEdit.EnableFileBrowseButton();

Persyaratan

Header: afxeditbrowsectrl.h

CMFCEditBrowsectrl::EnableBrowseButton

Menampilkan atau tidak menampilkan tombol telusuri pada kontrol jelajah edit saat ini.

void EnableBrowseButton(
    BOOL bEnable=TRUE,
    LPCTSTR szLabel=_T("..."));

Parameter

bEnable
TRUE untuk menampilkan tombol telusuri; FALSE tidak menampilkan tombol telusuri. Nilai defaultnya adalah TRUE.

szLabel
Label yang ditampilkan pada tombol telusuri. Nilai defaultnya adalah " ...".

Keterangan

Jika parameter bEnable TRUE, terapkan tindakan kustom untuk dilakukan saat tombol telusuri diklik. Untuk menerapkan tindakan kustom, dapatkan kelas dari CMFCEditBrowseCtrl kelas lalu ambil alih metode OnBrowse-nya.

Jika parameter bEnable TRUE, mode penelusuran kontrol adalah BrowseMode_Default; jika tidak, mode telusur adalah BrowseMode_None. Untuk informasi selengkapnya tentang mode telusur, lihat metode GetMode .

CMFCEditBrowseCtrl::EnableFileBrowseButton

Menampilkan tombol telusuri pada kontrol jelajah edit saat ini dan menempatkan kontrol dalam mode penjelajahan file.

void EnableFileBrowseButton(
    LPCTSTR lpszDefExt=NULL,
    LPCTSTR lpszFilter=NULL,
    DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT);

Parameter

lpszDefExt
Menentukan ekstensi nama file default yang digunakan dalam kotak dialog pemilihan file. Nilai defaultnya adalah NULL.

lpszFilter
Menentukan string filter default yang digunakan dalam kotak dialog pemilihan file. Nilai defaultnya adalah NULL.

dwFlags
Bendera kotak dialog. Nilai default adalah kombinasi bitwise (OR) OFN_HIDEREADONLY dan OFN_OVERWRITEPROMPT.

Keterangan

Saat kontrol edit telusuri berada dalam mode penjelajahan file dan pengguna mengklik tombol telusuri, kontrol menampilkan kotak dialog pemilihan file standar.

Untuk daftar lengkap bendera yang tersedia, lihat struktur OPENFILENAME.

CMFCEditBrowseCtrl::EnableFolderBrowseButton

Menampilkan tombol telusuri pada kontrol jelajah edit saat ini dan menempatkan kontrol dalam mode penjelajahan folder.

void EnableFolderBrowseButton();

Keterangan

Saat kontrol edit telusuri berada dalam mode telusur folder dan pengguna mengklik tombol telusuri, kontrol menampilkan kotak dialog pemilihan folder standar.

CMFCEditBrowsectrl::GetMode

Mengambil mode penjelajahan kontrol telusuri edit saat ini.

CMFCEditBrowseCtrl::BrowseMode GetMode() const;

Tampilkan Nilai

Salah satu nilai enumerasi yang menentukan mode kontrol penelusuran edit saat ini. Mode telusur menentukan apakah kerangka kerja menampilkan tombol telusuri dan tindakan apa yang terjadi saat pengguna mengklik tombol tersebut.

Tabel berikut mencantumkan kemungkinan nilai pengembalian.

Nilai Deskripsi
BrowseMode_Default mode kustom. Tindakan yang ditentukan programmer dilakukan.
BrowseMode_File mode file. Kotak dialog browser file standar ditampilkan.
BrowseMode_Folder mode folder. Kotak dialog browser folder standar ditampilkan.
BrowseMode_None Tombol telusuri tidak ditampilkan.

Keterangan

Secara default, CMFCEditBrowseCtrl objek diinisialisasi ke BrowseMode_None mode. Ubah mode telusur dengan CMFCEditBrowseCtrl::EnableBrowseButton, CMFCEditBrowseCtrl::EnableFileBrowseButton, dan CMFCEditBrowseCtrl::EnableFolderBrowseButton methods.

CMFCEditBrowseCtrl::OnAfterUpdate

Dipanggil oleh kerangka kerja setelah kontrol penelusuran pengeditan diperbarui dengan hasil tindakan telusuri.

virtual void OnAfterUpdate();

Keterangan

Ambil alih metode ini di kelas turunan untuk menerapkan tindakan kustom.

CMFCEditBrowsectrl::OnBrowse

Dipanggil oleh kerangka kerja setelah pengguna mengklik tombol telusuri kontrol edit telusuri.

virtual void OnBrowse();

Keterangan

Gunakan metode ini untuk menjalankan kode kustom saat pengguna mengklik tombol telusuri kontrol edit telusuri. Dapatkan kelas Anda sendiri dari CMFCEditBrowseCtrl kelas dan ambil alih metodenya OnBrowse . Dalam metode itu, terapkan tindakan telusuri kustom dan perbarui kotak teks kontrol edit telusur secara opsional. Dalam aplikasi Anda, gunakan metode EnableBrowseButton untuk menempatkan kontrol penelusuran edit dalam mode penjelajahan kustom.

CMFCEditBrowseCtrl::OnChangeLayout

Mengurai ulang kontrol telusuri edit saat ini.

virtual void OnChangeLayout();

Keterangan

Kerangka kerja memanggil metode ini ketika mode telusuri kontrol telusur edit berubah. Untuk informasi selengkapnya, lihat CMFCEditBrowseCtrl::GetMode.

CMFCEditBrowseCtrl::OnDrawBrowseButton

Dipanggil oleh kerangka kerja untuk menggambar tombol telusuri pada kontrol edit telusuri.

virtual void OnDrawBrowseButton(
    CDC* pDC,
    CRect rect,
    BOOL bIsButtonPressed,
    BOOL bIsButtonHot);

Parameter

pDC
Penunjuk ke konteks perangkat.

Rect
Persegi panjang pembatas tombol telusuri.

bIsButtonPressed
TRUE jika tombol ditekan; jika tidak, FALSE.

bIsButtonHot
TRUE jika tombol disorot; jika tidak, FALSE.

Keterangan

Ambil alih fungsi ini di kelas turunan untuk menyesuaikan tampilan tombol telusuri.

CMFCEditBrowseCtrl::SetBrowseButtonImage

Mengatur gambar kustom pada tombol telusuri kontrol telusuri edit.

void SetBrowseButtonImage(
    HICON hIcon,
    BOOL bAutoDestroy= TRUE);

void SetBrowseButtonImage(
    HBITMAP hBitmap,
    BOOL bAutoDestroy= TRUE);

void SetBrowseButtonImage(UINT uiBmpResId);

Parameter

hIcon
Handel ikon.

hBitmap
Handel bitmap.

uiBmpResId
ID sumber daya bitmap.

bAutoDestroy
TRUE untuk menghapus ikon atau bitmap yang ditentukan ketika metode ini keluar; jika tidak, FALSE. Nilai defaultnya adalah TRUE.

Keterangan

Gunakan metode ini untuk menerapkan gambar kustom ke tombol telusuri. Secara default, kerangka kerja mendapatkan gambar standar saat kontrol penelusuran edit berada dalam mode telusuri file atau penjelajahan folder.

CMFCEditBrowseCtrl::OnIllegalFileName

Dipanggil oleh kerangka kerja ketika nama file ilegal dimasukkan dalam kontrol edit.

virtual BOOL OnIllegalFileName(CString& strFileName);

Parameter

strFileName
Menentukan nama file ilegal.

Tampilkan Nilai

Harus mengembalikan FALSE jika nama file ini tidak dapat diteruskan lebih lanjut ke dialog file. Dalam hal ini, fokus diatur kembali ke kontrol edit dan pengguna harus terus mengedit. Implementasi default menampilkan kotak pesan yang memberi tahu pengguna tentang nama file ilegal dan mengembalikan FALSE. Anda dapat mengambil alih metode ini, memperbaiki nama file, dan mengembalikan TRUE untuk pemrosesan lebih lanjut.

Keterangan

Lihat juga

Bagan Hierarki
Kelas