Verarbeitung der WM_INITDIALOG und WM_DESTROY-Meldungen in einem Ownerdrawn-Dialogfeld

Wenn Sie ein Kombinationsfeld in einem Dialogfeld verwenden, reagieren Sie in der Regel auf eine WM_INITDIALOG -Meldung durch die Initialisierung im Kombinationsfeld. Das Beispiel in Erstellen eines Dialogfelds Square Meal Lasten die Bitmaps verwendet für das Ownerdrawn-Kombinationsfeld, dann ruft die anwendungsdefinierte InitGroupList Funktion, um das Kombinationsfeld zu initialisieren. Es auch das erste Listenelement im Kombinationsfeld auswählt, dann ruft die anwendungsdefinierte InitFoodList Funktion, um das Listenfeld zu initialisieren.

Im Beispiel ist das Ownerdrawn-Kombinationsfeld ein Dropdown-Listenfeld mit den Namen aller die vier Nahrungsmittelgruppen. InitGroupListfügt den Namen des jede Lebensmittelgruppe, und ruft die anwendungsdefinierte SetItemData Funktion, um eine Konstante jedes Listenelement zugeordnet, die eine entsprechende Lebensmittelgruppe identifiziert.

Das Listenfeld im Beispiel enthält die Namen von Lebensmitteln in der ausgewählten Gruppe. InitFoodListsetzt den Inhalt des Listenfelds, dann die Namen der aktuellen Auswahl im aktuellen Essen Gruppe Dropdown-Listenfeld hinzugefügt.

Die Dialogfeld im Feld Prozedur verarbeitet die Nachricht WM_DESTROY , die Bitmaps im Ownerdrawn-Kombinationsfeld zu löschen.

Index