Du kan bruke noen av metodene nedenfor for å tilpasse dialogboksen en farge ,:
Du kan endre utseendet og virkemåten i dialogboksen farge ved å angi flagg i flagg -medlem av CHOOSECOLOR -strukturen. Du kan for eksempel sette CC_SOLIDCOLOR-flagget til direkte i dialogboksen for å vise bare heldekkende farger. Hvis du vil føre til at dialogboksen å velge en annen farge enn svart først, sette CC_RGBINIT-flagget og angir en farge i rgbResult -medlem.
Du kan angi en egendefinert mal for dialogboksen farge , for eksempel hvis du vil ta med flere kontroller, som er unike for programmet. ChooseColor -funksjonen bruker den egendefinerte malen i stedet for standardmalen.
Å gi en egendefinert mal for dialogboksen farge- Eller -
Du kan angi en CCHookProc hook-prosedyre for dialogboksen farge . Bindingsprosedyren kan behandle meldinger som er sendt til dialogboksen. Det kan også bruke registrerte meldinger til å kontrollere virkemåten i 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 dialogboksen fargeEtter 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 CHOOSECOLOR -strukturen som brukes til å initialisere dialogboksen.
Dialogboksen sender COLOROKSTRING registrerte meldingen til Bindingsprosedyren når brukeren klikker OK -knappen. Bindingsprosedyren kan avvise den valgte fargen og tvinge dialogboksen for å forbli åpen ved å returnere null når den mottar denne meldingen. Bindingsprosedyren kan tvinge dialogboksen for å velge en bestemt farge ved å sende SETRGBSTRING registrerte meldingen til dialogboksen. Du vil bruke disse registrerte meldinger, må du sende konstantene COLOROKSTRING og SETRGBSTRING til RegisterWindowMessage -funksjonen for å få en meldings-IDen. Du kan deretter bruke identifikatoren til å gjenkjenne og behandle meldinger som er sendt fra dialogboksen, eller til å sende meldinger til dialogboksen.