Controalele casetă de dialog

Șablonul specifică poziția, lățimea, înălțimea, stil, identificator și fereastra clasa pentru fiecare control în caseta de dialog. Sistemul creează fiecare control prin care trece aceste date la funcția de CreateWindowEx . Controalele sunt create în ordinea în care sunt men?ionate în șablonul. Șablonul trebuie să specificați numărul corespunzător, tipul și ordinea de controale pentru a se asigura că utilizatorul poate introduce intrare necesare pentru a finaliza comanda asociate cu caseta de dialog.

Pentru fiecare control, șablonul specifică stilul valorile care definesc aspectul și funcționarea din control. Fiecare control este o fereastră de copil și, prin urmare, trebuie să aibă stil WS_CHILD. Pentru a asigura controlul vizibile atunci când este afișată caseta de dialog, fiecare control trebuie să aibă, de asemenea, stilul WS_VISIBLE. Alte stiluri de fereastra frecvent utilizate sunt WS_BORDER pentru controalele care au borduri opțional, WS_DISABLED pentru controalele care trebuie să fie dezactivată când caseta de dialog este creat inițial, și WS_TABSTOP și WS_GROUP pentru controale care pot fi accesate utilizând tastatura. WS_TABSTOP și WS_GROUP stiluri sunt utilizate în conjuncție cu interfața de tastatură dialog descrise în acest subiect.

Șablonul poate specifica, de asemenea, stiluri de control specifice controlului fereastra clase. De exemplu, un șablon care specifică un buton de control trebuie să dea un stil de buton de control cum ar fi BS_PUSHBUTTON sau BS_CHECKBOX. Sistemul trece stilurile controlul procedurii de control fereastra prin mesaj WM_CREATE , permi?ând realizarea procedurii să se adapteze la aspectul ?i func?ionarea controlul.

Sistemul convertește coordonatele pozi?ia ?i măsurătorile lățime și înălțime din unitățile dialog pixeli, înainte de a trece la CreateWindowEx. Când sistemul creează un control, se specifică în caseta de dialog ca fereastra părinte. Acest lucru înseamnă sistemul întotdeauna interpretează coordonatele poziției controlul ca client coordonate, relativ la colțul din stânga sus din zonă client din caseta de dialog.

Șablonul specifică clasa fereastra pentru fiecare control. O casetă de dialog tipic conține controale care fac parte din clasele fereastra control predefinite, cum ar fi butonul și edita control fereastra clase. În acest caz, șablon specifică fereastra clase prin furnizarea de valorile predefinite atom corespunzătoare pentru clase. Atunci când o casetă de dialog conține un control din clasa de fereastra un control particularizat, șablonul dă numele de clasa fereastra înregistrate sau valoarea atom în prezent asociat cu numele.

Fiecare control din caseta de dialog trebuie să aibă un identificator unic pentru a o distinge de alte controale. Controale trimite informații la procedura de caseta de dialog prin mesaje WM_COMMAND , astfel încât identificatorii de control sunt esențiale pentru procedura pentru a determina care de control trimis un anumit mesaj. Singura excepție de la această regulă sunt control identificatori pentru controale statice. Controale static nu necesită identificatori unici deoarece acestea trimite mesaje WM_COMMAND.

Pentru a permite utilizatorului pentru a închide caseta de dialog, șablonul trebuie să specificați cel puțin un push button și dă identificatorul de control IDCANCEL. Pentru a permite utilizatorilor să aleagă între completarea sau anula comanda asociate cu caseta de dialog, șablonul ar trebui să specificați două împinge butoane, etichetat OK și Cancel, cu control identificatori IDOK ?i IDCANCEL, respectiv.

Un șablon specifică, de asemenea, date op?ionale de text și crearea de control. Textul de obicei oferă etichete pentru controlul buton sau specifică con?inutul ini?ial de un control static text. Datele de creare a este unul sau mai mulți bytes de date că sistemul trece procedurii de control fereastra la crearea controlului. Datele de creare a este util pentru controale care necesită mai multe informații despre conținutul ini?ială sau stil decât este dat de alte date lor. De exemplu, o cerere poate utiliza datelor de creare pentru a seta setarea inițială și gama de control bară de defilare.