Het WM_INITDIALOG bericht

Het systeem doet niet verzenden een WM_CREATE bericht aan het dialoogvenster vak procedure. In plaats daarvan signaal het een WM_INITDIALOG wanneer het dialoogvenster en alle bijbehorende besturingselementen wordt gemaakt maar voordat het dialoogvenster wordt weergegeven. De procedure moet verrichten initialisatie vereist om ervoor te zorgen dat het dialoogvenster worden de huidige instellingen van de opdracht of taak is gekoppeld weergegeven. Bijvoorbeeld, wanneer een dialoogvenster een besturingselement bevat wilt weergeven van het huidige station en de map, moet de procedure bepalen het huidige station en de map en de controle op die waarde ingesteld.

De procedure kunt besturingselementen initialiseren met behulp van functies zoals SetDlgItemText en CheckDlgButton. Aangezien besturingselementen windows, kan de procedure hen ook manipuleren met behulp van vensterbeheer functies zoals EnableWindow en SetFocus. De procedure kunt de vensteringang voor een besturingselement ophalen met behulp van de functie GetDlgItem.

Het dialoogvenster vak procedure kan de inhoud, staat en positie van een besturingselement zo nodig wijzigen. Bijvoorbeeld, kan de procedure in een dialoogvenster dat een keuzelijst van de bestandsnamen en een knop Openen bevat, uitschakelen van de knop openen totdat de gebruiker een bestand uit de lijst selecteert. In dit voorbeeld het dialoogvenster vak sjabloon geeft de WS_DISABLED stijl van de knop openen en wordt het systeem automatisch de knop uitgeschakeld bij het maken van het. Wanneer het dialoogvenster vak procedure ontvangt een melding die aangeeft dat de gebruiker een bestand heeft geselecteerd, de procedure roept de functie EnableWindow om de knop openen in de keuzelijst.

Een aangepast pictogram wilt weergeven op de titelbalk van het dialoogvenster, kunt uw handler WM_INITDIALOG de WM_SETICON-bericht verzenden in het dialoogvenster.

Als de toepassing het dialoogvenster maakt met behulp van een van de functies DialogBoxParam, DialogBoxIndirectParam, CreateDialogParamof CreateDialogIndirectParam, bevat de lParam parameter voor het WM_INITDIALOG bericht de extra parameter doorgegeven aan de functie. Toepassingen gebruiken meestal deze extra parameter aan het adres van aanvullende initialisatie informatie doorgeven aan het dialoogvenster vak procedure, maar het dialoogvenster vak procedure moet de betekenis van de parameter bepalen. Als de toepassing een andere functie gebruikt om het dialoogvenster te maken, het systeem de lParam parameter wordt ingesteld op NULL.

Voordat u terugkeert van het WM_INITDIALOG bericht, moet de procedure bepalen of het om een bepaald besturingselement de invoerfocus moet ingesteld. Als het dialoogvenster vak procedure waar als resultaat geeft, het systeem automatisch de invoerfocus ingesteld op het besturingselement waarvan vensteringang in de wParam -parameter is. Als het besturingselement de focus standaard ontvangen niet geschikt is, kan de focus naar het desbetreffende besturingselement ingesteld met behulp van de functie SetFocus . Als de procedure wordt de invoerfocus ingesteld, moet deze resulteren in FALSE om te voorkomen dat het systeem de standaard focus instellen. Het besturingselement ontvangt de standaard input focus is altijd het eerste besturingselement in de sjabloon die is zichtbaar, niet uitgeschakeld, gegeven en heeft de WS_TABSTOP stijl. Als er geen dergelijke controle bestaat, het systeem de invoerfocus standaard ingesteld naar het eerste besturingselement in de sjabloon.

Index