Mnemonics

Un mnemonic este un selectat literă sau cifră în eticheta unui buton sau în textul unui control statice. Sistemul se mută accentul intrare la controlul asociate cu mnemonicul ori de câte ori utilizatorul fie va apăsa tasta care corespunde mnemonicul sau prese acest și tasta alt în combinație. Mnemonics oferă o modalitate rapidă pentru utilizator pentru a muta la un anumit control utilizând tastatura.

O cerere creează un mnemonic pentru un control prin inserarea ampersand (&); imediat înainte de litera selectate sau cifre în eticheta sau textul pentru control. În majoritatea cazurilor, șir null-terminated prevăzute cu controlul din caseta de dialog șablon conține ampersand. Cu toate acestea, cererea poate crea un mnemonic în orice moment prin înlocuirea unui control etichetă existentă sau text utilizând funcția SetDlgItemText . Pentru fiecare control, se poate acorda numai un mnemonic. Deși este recomandat, mnemonics într-o casetă de dialog nu trebuie să fie unic.

Atunci când utilizatorul apasă o tastă literă sau cifră, sistemul prima determină dacă controlul curent având accentul intrare procesele cheie. Sistemul trimite un mesaj WM_GETDLGCODE pentru controlul, și dacă controlul întoarce valoarea DLGC_WANTALLKEYS sau DLG_WANTMESSAGE, sistemul trece tasta control. În caz contrar, acesta caută pentru un control al cărui mnemonic meciuri anumită literă sau cifră. Continuă să caute până când se localizează un control sau a examinat toate controalele. În timpul de căutare, o sare orice controale statice care au stilul SS_NOPREFIX.

Dacă sistem localizează un control statice și controlul nu este dezactivat, sistemul mută focalizarea intrare la primul control după controlul statice care este vizibilă, nu a fost dezactivat, și care are stilul WS_TABSTOP. Dacă sistemul localizează unele alt control care are un mnemonic care se potrivesc, se mută accentul intrare la acel control. Dacă controlul este o implicit push button, sistemul trimite un mesaj de notificare a BN_CLICKED la procedura de caseta de dialog. În cazul în care controlul este un alt stil de buton și nu există nici un alt control din caseta de dialog având același mnemonicul, sistemul trimite mesajul BM_CLICK la comandă.

Index