Procedura de caseta de dialog

O procedură de caseta de dialog este similar cu o procedură de fereastra în care sistemul trimite mesaje de la procedura de dispune de informa?ii pentru a da sau activități pentru a efectua. Spre deosebire de o procedură de fereastra, o procedură de caseta de dialog solicită niciodată funcția DefWindowProc . În schimb, ea întoarce valoarea Boolean adevărat în cazul în care se procesează un mesaj sau FALSE dacă nu.

Fiecare procedura de caseta de dialog are următoarea formă:

BOOL APIENTRY DlgProc (hwndDlg, mesaj, wParam, lParam) HWND hwndDlg; 
UINT mesaj; 
WPARAM wParam; 
LPARAM lParam; 
{switch (mesaj) {/ / locul mesaj cazuri aici. 
 
        implicit: return FALSE; 
    } 
} 

 

Parametri procedură servește același scop ca într-o procedură de fereastră, cu parametrul hwndDlg primirea ghidajul fereastră din caseta de dialog.

Cele mai multe proceduri de caseta de dialog mesajul WM_INITDIALOG ?i WM_COMMAND mesajele trimise de către controalele, dar procesul de câteva dacă orice alte mesaje. În cazul în care o procedură de caseta de dialog nu a procesat un mesaj, acesta trebuie să returneze FALSE directă sistemul pentru a procesa mesajele pe plan intern. Singura excepție de la această regulă este mesajul WM_INITDIALOG. Procedura de caseta de dialog trebuie să returneze TRUE la directe sistemul pentru a procesa mai departe mesajul WM_INITDIALOG. În orice caz, procedura nu trebuie să apel DefWindowProc.

Index