Bul ve Değiştir iletişim kutusunu özelleştirme

Bul veya Değiştir iletişim kutusunu özelleştirmek için aşağıdaki yöntemlerden birini kullanabilir miyim:

Bul veya Değiştir iletişim kutusu oluşturduğunuzda, bayraklar gizlemek veya arama seçeneği denetimleri devre dışı bırakmak için bayrakları üye FINDREPLACE yapısı içinde ayarlayabilirsiniz. Örneğin, Match Case onay kutusunu devre dışı bırakmak veya gizlemek için FR_HIDEMATCHCASE bayrağını ayarlamak için fr_nomatchcase bayrak ayarlayabilirsiniz.

Uygulamanız için benzersiz olan ek denetimler eklemek istiyorsanız özel bir şablon bulma veya değiştirme iletişim kutusu için örneğin sağlayabilir. FindText ve ReplaceText işlevleri kullanmak için özel bir şablon varsayılan şablon yerine.

    Bul veya Değiştir iletişim kutusu için özel bir şablon sağlamak
  1. FINDTEXT içinde belirtilen varsayılan şablonu değiştirerek özel bir şablon oluşturun.dlg dosyasını. Varsayılan Bul denetim tanımlayıcıları kullanılan veya iletişim şablon yerine dlgs tanımlanır.H dosyası.
  2. FINDREPLACE yapısı şablonu aşağıdaki şekilde etkinleştirmek için kullanın:

Bul veya Değiştir iletişim kutusu için bir FRHookProc kancası yordamı sağlayabilirsiniz. Kanca işlemi iletişim kutusuna gönderilen iletileri işleyebilir. Sen-meli sağlamak, denetimleri için giriş işlemek için kanca işlemi ek denetimleri tanımlamak için özel bir şablon kullanmak.

    Bul veya Değiştir iletişim kutusu için bir kanca işlemi etkinleştirmek için
  1. Fr_enablehook bayrağı bayrak FINDREPLACE yapısı içinde kümesinin.
  2. LpfnHook üye kancası yordamı adresini belirtin.

Onun WM_INITDIALOG iletiyi işledikten sonra iletişim kutusu yordamı kancası yordamı bir WM_INITDIALOG iletisi gönderir. Bu iletinin lParam parametresinin FINDREPLACE Yapısı iletişim kutusu başlatmak için kullanılan bir işaretçidir.

Kanca işlemi WM_INITDIALOG iletiye yanıt olarak false döndürürse, kanca işlemi görüntülediği sürece iletişim kutusunda gösterilmez. Bunu yapmak için öncelikle diğer bir boya işlemleri gerçekleştirmek ve ShowWindow arama ve UpdateWindow fonksiyonlar. Aşağıdaki kod örneği sağlar

/ / WM_INITDIALOG yanıt false döner. 
/ / Biz gerçekleştirilen diğer bir boya işlemleri. 
/ / Şimdi biz iletişim kutusunu görüntüler. 
ShowWindow (hDlg, sw_shownormal); 
UpdateWindow(hDlg) 

 

Index