Tilpasse dialogboksen Søk eller Erstatt

Du kan bruke noen av metodene nedenfor for å tilpasse en dialogboks for Søk eller Erstatt ,:

Når du oppretter en dialogboks for Søk eller Erstatt , kan du sette flagg i flagg -medlem av FINDREPLACE -strukturen for å skjule eller deaktivere noen av kontrollene for søk-alternativet. Du kan for eksempel sette FR_NOMATCHCASE-flagget for å deaktivere avmerkingsboksen Store/små bokstaver eller sette FR_HIDEMATCHCASE-flagget for å skjule den.

Du kan angi en egendefinert mal for en dialogboksen Søk eller Erstatt for eksempel hvis du vil ta med flere kontroller, som er unike for programmet. FinnTekst og Fortløpande endringar -funksjoner bruker den egendefinerte malen i stedet for standardmalen.

    Å gi en egendefinert mal for en dialogboks for søk eller Erstatt
  1. Opprette den egendefinerte malen ved å endre standardmalen angitt i FINNTEKST.DLG fil. Kontroll-IDer brukes i standard finne eller erstatte malen i dialogboksen som er definert i DLGS.H-fil.
  2. Bruk FINDREPLACE -strukturen til å aktivere malen som følger:

Du kan gi en FRHookProc hook-prosedyre for en dialogboks for Søk eller Erstatt . Bindingsprosedyren kan behandle meldinger som er sendt til dialogboksen. Hvis du bruker en egendefinert mal til å definere flere kontroller, må du oppgi en hook-prosedyre for å behandle inndata for kontrollene.

    Hvis du vil aktivere en Bindingsprosedyren for en dialogboks for søk eller Erstatt
  1. Angi FR_ENABLEHOOK-flagget i flagg -medlem av FINDREPLACE -struktur.
  2. Angi adressen til Bindingsprosedyren i lpfnHook -medlem.

Etter behandling sin WM_INITDIALOG -melding, sender dialogboksen boksen fremgangsmåten en WM_INITDIALOG melding til hook-prosedyre. LParam -parameteren for denne meldingen er en peker til FINDREPLACE -strukturen som brukes til å initialisere dialogboksen.

Hvis Bindingsprosedyren returnerer USANN i svar på meldingen i WM_INITDIALOG, vil ikke dialogboksen vises med mindre Bindingsprosedyren viser den. Du gjør dette, først utføre andre maling-operasjoner, og deretter kaller ShowWindow og UpdateWindow -funksjoner. Følgende kode gir et eksempel

/ / Vi har returnerte FALSE svar på WM_INITDIALOG. 
/ / Vi har utført andre maling-operasjoner. 
/ / Nå vi vise dialogboksen. 
ShowWindow (hDlg, SW_SHOWNORMAL); 
UpdateWindow(hDlg) 

 

Index