FRHookProc

FRHookProc hook-prosedyre er en Programdefinert eller bibliotek-definert tilbakeringingsfunksjonen som brukes sammen med funksjonen FinnTekst eller Fortløpande endringar . Bindingsprosedyren mottar meldinger eller meldinger som er ment for standard dialogboksen boksen prosedyre Hvis du vil søke etter eller erstatte vanlige i dialogboksen.

LPFRHOOKPROC -typen definerer en peker til denne tilbakeringingsfunksjonen for. FRHookProc er en plassholder for navnet på programdefinert funksjonen.

() UINT TILBAKERINGING FRHookProc HWND  hdlg, / / håndtere til boksen dialogvindaugetUINTuiMsg / / message identifikatorWPARAMwParam, / / message parameterenLPARAMlParam / / message parameteren);
 

Parametere

hdlg
Håndtere å søke etter eller erstatte vanlige boksen dialogvindauget som meldingen er ment.
uiMsg
Identifiserer meldingen mottas.
wParam
Angir tilleggsinformasjon om meldingen. Den eksakte betydningen er avhengig av verdien for parameteren uiMsg .
lParam
Angir tilleggsinformasjon om meldingen. Den eksakte betydningen er avhengig av verdien for parameteren uiMsg.

Hvis parameteren uiMsg angir meldingen som er WM_INITDIALOG , er lParam en peker til en FINDREPLACE struktur med verdiene som er angitt når dialogboksen felles ble opprettet.

Returverdier

Hvis Bindingsprosedyren returnerer null, standard dialogboksen boksen fremgangsmåten, behandler meldingen.

Hvis Bindingsprosedyren returnerer en ikke-nullverdi, ignorerer standard dialogboksen boksen prosedyre meldingen.

Merknader

Når du bruker funksjonene FinnTekst eller Fortløpande endringar til å opprette en søke etter eller erstatte vanlige dialogboksen, kan du gi en FRHookProc hook-prosedyre for å behandle meldinger eller meldinger som er ment for dialogboksen boksen prosedyre. Bruk FINDREPLACE -strukturen som du sendes til dialogboksen oppretting av funksjonen for å aktivere hook-prosedyre. Angi adressen til Bindingsprosedyren i lpfnHook -medlem og angi flagget FR_ENABLEHOOK i flaggene -medlem.

Standard dialogboksen boksen prosedyre behandler meldingen WM_INITDIALOG før den sendes til hook-prosedyre. For alle andre meldinger mottar Bindingsprosedyren meldingen først. Deretter, returverdien for Bindingsprosedyren bestemmer om standard dialogboksen fremgangsmåten, behandler meldingen eller ignorerer den.

Hvis Bindingsprosedyren behandler WM_CTLCOLORDLG meldingen, må den returnere et gyldig pensel håndtak for å male bakgrunnen i dialogboksen. Generelt, hvis Bindingsprosedyren behandler meldinger WM_CTLCOLOR *, må den returnere et gyldig pensel håndtak for å male bakgrunnen for den angitte kontrollen.

Ikke kall funksjonen EndDialog fra hook-prosedyre. I stedet, Bindingsprosedyren kan kalle funksjonen PostMessage til å legge inn en WM_COMMAND-melding med IDABORT-verdien i dialogboksen boksen prosedyren. Postering av IDABORT lukker dialogboksen og fører til at dialogboksen boksen funksjonen returnerer USANN. Hvis du trenger å vite hvorfor Bindingsprosedyren lukket dialogboksen, må du gi din egen mekanisme for kommunikasjon mellom Bindingsprosedyren og programmet.

Du kan underklasse standardkontroller av den felles dialogboksen. Men kan den felles dialogboks boksen prosedyren også underklasse kontrollene. På grunn av dette bør du underklasse kontroller når din Bindingsprosedyren behandler meldingen WM_INITDIALOG. Dette sikrer at din underklasse prosedyren mottar kontroll-spesifikke meldinger før underklasse prosedyren angitt av dialogboksen boksen prosedyre.

FRHookProc er en plassholder for program- eller bibliotek-definert funksjonsnavnet. Typen LPFRHOOKPROC er en peker til en FRHookProc hook-prosedyre.

Hurtiginformasjon

nbsp; Windows &NT: krever versjon 3.1 eller senere.
Windows:Krever Windows 95 eller senere.
Windows CE:Som ikke støttes.
Topptekst:Deklarert i commdlg.h.
Importere biblioteket:Brukerdefinerte.

Se også

Felles biblioteket dialogboksoversikt, felles dialogboksen fungerer, EndDialog, FINDREPLACE, FinnTekst, PostMessage, Fortløpande endringar, WM_INITDIALOG, WM_CTLCOLORDLG

Index