Tilpasse dialogboksen farge

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
  1. Opprette den egendefinerte malen ved å endre standardmalen angitt i fargen.DLG fil. Kontroll-IDer brukes i dialogboksen standardmalen farge er definert i COLORDLG.H-fil.
  2. Bruk CHOOSECOLOR -strukturen til å aktivere malen som følger:

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 farge
  1. Angi CC_ENABLEHOOK-flagget i flagg -medlem av CHOOSECOLOR -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 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.