De CCHookProc haak procedure is een toepassing of bibliotheek gedefinieerde callback-functie die wordt gebruikt met de functie ChooseColor . De haak procedure ontvangt berichten of berichten die bestemd zijn voor de standaard dialoogvenster vak procedure van het dialoogvenster gemeenschappelijke kleur.
Het LPCCHOOKPROC type definieert een pointer naar deze callback functie. CCHookProc is een tijdelijke aanduiding voor de naam van de toepassing gedefinieerde functie.
(UINT CALLBACK CCHookProc HWND hdlg, / / ingang naar het dialoogvenster vak vensterUINTuiMsg, / / bericht idWPARAMwParam, / / bericht parameterLPARAMlParam / / bericht parameter);
Als de parameter uiMsg het bericht WM_INITDIALOG geeft , is lParam een aanwijzer naar een CHOOSECOLOR structuur met de waarden opgegeven toen het dialoogvenster werd gemaakt.
Als de haak procedure nul retourneert, verwerkt de verstekprocedure dialoogvenster vak het bericht.
Als de haak procedure een andere waarde dan nul retourneert, negeert de verstekprocedure dialoogvenster vak het bericht.
Wanneer u de functie ChooseColor als een dialoogvenster kleur wilt maken, kunt u een CCHookProc haak procedure voor het verwerken van berichten of berichten die bestemd zijn voor het dialoogvenster vak procedure voorzien. Opdat de haak procedure, de CHOOSECOLOR structuur die u aan de functie dialoogvenster creatie doorgegeven te gebruiken. Geef het adres van de haak-procedure in de lpfnHook -lid en de CC_ENABLEHOOK vlag in de vlaggen lid opgeven.
De verstekprocedure dialoogvenster vak verwerkt het WM_INITDIALOG bericht voordat dit wordt doorgegeven aan de haak-procedure. Voor alle andere berichten ontvangt de haak procedure het bericht eerst. Vervolgens, de geretourneerde waarde van de haak procedure bepaalt of de verstekprocedure dialoogvenster het bericht verwerkt of genegeerd.
Als de procedure haak het WM_CTLCOLORDLG bericht verwerkt, moet deze resulteren in een geldige borstel handvat voor het schilderen van de achtergrond van het dialoogvenster. In het algemeen, als de procedure haak een WM_CTLCOLOR-bericht verwerkt, moet het een geldige borstel handvat voor het schilderen van de achtergrond van het opgegeven besturingselement terugkeren.
De EndDialog -functie niet aanroepen vanuit de haak procedure. In plaats daarvan, kan de procedure haak roepen de PostMessage -functie om een WM_COMMAND-bericht met de waarde IDABORT naar het dialoogvenster vak procedure. Posten IDABORT sluit u het dialoogvenster en veroorzaakt de dialoogvenster vak functie FALSE. Als u weten waarom de haak procedure het dialoogvenster gesloten wilt, dient u uw eigen communicatiemechanisme voor tussen de haak procedure en uw toepassing.
Subklasse kunt u de standaard besturingselementen van het dialoogvenster gemeenschappelijk. De gemeenschappelijke dialoogvenster vak procedure kan evenwel ook subklasse de besturingselementen. Hierdoor moet u subklasse besturingselementen wanneer uw haak procedure het WM_INITDIALOG bericht verwerkt. Dit zorgt ervoor dat uw subklasse procedure de controle-specifieke berichten voor de subklasse procedure door het dialoogvenster vak procedure ontvangt.
nbsp; Windows &NT: versie 3.1 of hoger vereist.
Windows:Windows 95 of hoger vereist.
Windows CE:Versie 2.0 of hoger vereist.
Header:Verklaard in commdlg.h.
Bibliotheek importeren:Gebruiker gedefinieerde.
Overzicht van bibliotheek het gemeenschappelijk dialoogvenster, gemeenschappelijk dialoogvenster vak functies, ChooseColor, CHOOSECOLOR, EndDialog, PostMessage, WM_INITDIALOG, WM_CTLCOLORDLG