Ownerdrawn-Listenfeldern

Eine Anwendung kann ein Ownerdrawn - Listenfeld zu übernehmen für das Zeichnen der Listenelemente erstellen. Das übergeordnete Fenster oder Dialogfeld Feld ein Ownerdrawn-Listenfeld ( Besitzer) empfängt WM_DRAWITEM Nachrichten, wenn ein Teil des Listenfelds muss lackiert werden. Ein Ownerdrawn-Listenfeld kann Informationen außer und neben Text-Zeichenfolgen auflisten.

Der Besitzer von einem Ownerdrawn-Listenfeld muss die WM_DRAWITEM Nachricht verarbeiten. Diese Nachricht wird gesendet, wenn ein Teil des im Listenfeld neu gezeichnet werden muss. Der Besitzer kann andere Nachrichten, je für das Listenfeld angegebenen Stile verarbeiten müssen.

Eine Anwendung kann ein Ownerdrawn-Listenfeld erstellen, durch die Angabe des LBS_OWNERDRAWFIXED oder LBS_OWNERDRAWVARIABLE-Stil. Wenn alle Listenelemente in der Liste die gleiche Höhe, z. B. Zeichenfolgen oder Symbole sind, kann eine Anwendung den LBS_OWNERDRAWFIXED-Stil verwenden. Wenn Listenelemente von unterschiedlicher Höhe, Bitmaps unterschiedlicher Größe sind, kann z. B. eine Anwendung verwenden im LBS_OWNERDRAWVARIABLE-Stil.

Der Besitzer von einem Ownerdrawn-Listenfeld kann die Abmessungen der Listenelemente festlegen eine WM_MEASUREITEM Nachricht verarbeiten. Wenn die Anwendung im Listenfeld erstellt mithilfe den LBS_OWNERDRAWFIXED-Stil, sendet das System die WM_MEASUREITEM-Nachricht nur einmal. Die vom Besitzer angegebenen Dimensionen sind für alle Listenelemente verwendet. Wenn der LBS_OWNERDRAWVARIABLE-Stil verwendet wird, sendet das System eine WM_MEASUREITEM Nachricht für jedes Listenelement in das Listenfeld hinzugefügt. Der Eigentümer kann bestimmen, oder legen Sie die Höhe eines Listenelements jederzeit mithilfe der LB_GETITEMHEIGHT und LB_SETITEMHEIGHT Nachrichten.

Wenn in einem Ownerdrawn-Listenfeld angezeigte Informationen Text enthält, eine Anwendung kann verfolgen den Text für jedes Listenelement der durch das LBS_HASSTRINGS-Format angibt. Listenfelder mit LBS_SORT Stil werden basierend auf diesen Text sortiert. Wenn ein Listenfeld wird sortiert, aber nicht im LBS_HASSTRINGS Stil ist, muss der Eigentümer die WM_COMPAREITEM Nachricht verarbeiten.

In einem Ownerdrawn-Listenfeld der Besitzer muss verfolgen Listenelemente mit Informationen als oder zusätzlich zum Text der. Eine bequeme Möglichkeit, dies zu tun ist, um das Handle der Informationen als Elementdaten mithilfe der LB_SETITEMDATA -Nachricht zu speichern. Der Eigentümer frei Datenobjekte zugeordnete Elemente in einem Listenfeld, kann die WM_DELETEITEM -Nachricht verarbeiten, um.

Ein Beispiel für ein Ownerdrawn-Listenfeld finden Sie unter Erstellen eines Listenfelds Owner-Drawn.

Index