Behandling av WM_COMMAND-melding i en dialogboks for eieren-tegnet

Når det skjer en hendelse i en dialogboks, varsler kontrollen dialogboksen boksen prosedyre ved hjelp av en WM_COMMAND -melding. Eksempel i å lage en firkant måltid-dialogboksen behandler varselmeldinger fra kombinasjonsboksen, listen og OK -knappen. Kontroll-IDen er i signifikante ordet av wParam, og meldingen er i signifikante ordet av wParam.

Hvis kontrollen identifikatoren er IDCOMBO, har det oppstått en hendelse i kombinasjonsboksen. Svar ignorerer dialogboksen boksen prosedyre alle andre kombinasjonsboksen boksen hendelser bortsett fra CBN_SELENDOK, som angir at et valg ble gjort, i rullegardinlisten ble lukket, og endringene skal godtas. Dialogboksen boksen-prosedyrekall InitFoodList å tilbakestille innholdet i listeboksen, og for å legge til navnene på gjeldende utvalg i boksen rullegardinlisten.

Hvis kontrollen identifikatoren er IDLIST, har det oppstått en hendelse i listeboksen. Dette fører til at dialogboksen boksen prosedyren for å ignorere alle listen boksen hendelser bortsett fra LBN_DBLCLK, som angir at brukeren har dobbeltklikket et listeelement. Denne hendelsen behandles på samme måte som om du har valgt en OK -knapp.

Hvis kontrollen identifikatoren er IDOK, kan brukeren har valgt knappen OK . Svar, dialogboksen boksen prosedyre setter inn navnet på den valgte mat i programmets flerlinjet edit-kontrollen, og deretter kaller den EndDialog -funksjonen for å lukke dialogboksen.

Hvis kontrollen identifikatoren er IDCANCEL, har brukeren klikket Avbryt -knappen. Svar kaller dialogboksen boksen prosedyre EndDialog for å lukke dialogboksen.