Windows Programmierung: Listbox |
Einführende Informationen über die Programmierung von Kontrollelementen werden hier vorausgesetzt.
LBS_MULTIPLESEL ermöglicht die Mehrfachselektion. Das Verhalten wird aber die meisten Windows-Anwender irritieren. Sie werden eher mit der zusätzlichen Eigenschaft LBS_EXTENDEDSEL zufrieden sein.
case WM_COMMAND:
switch(LOWORD(wParam)) {
case ID_LISTBOX:
switch (HIWORD(wParam)) {
case LBN_DBLCLK:
ListIndex = SendMessage(hListe, LB_GETCURSEL, 0, 0);
Person = (tPerson *)SendMessage(hListe, LB_GETITEMDATA, ListIndex, 0);
EndDialog(hWnd, IDOK); // simuliere Ende der Dialogbox
return TRUE;
case LBN_SELCHANGE:
// lParam enthaelt die hwnd der listbox
ListIndex = SendMessage((HWND)lParam, LB_GETCURSEL, 0, 0);
| LBN_DBLCLK | Item wurde doppelt angeklickt (oder Returntaste) |
| LBN_SELCANCEL | Anwender hat Selektion abgebrochen |
| LBN_SELCHANGE | Das selektierte Item wurde gewechselt |
| Nachricht | wParam | lParam | Rückgabe |
|---|---|---|---|
| LB_ADDSTRING | 0 | Zeiger auf den String | Index des neuen Items, bei Fehler LB_ERR |
| LB_INSERTSTRING | Zielindex des Items, -1 für hinten | Zeiger auf den String | bei Fehler LB_ERR |
| LB_DELETESTRING | Index des Items | 0 | bei Fehler LB_ERR |
| LB_RESETCONTENT | 0 | 0 | bei Fehler LB_ERR |
AddString hängt Einträge hinten an, sofern die Listbox nicht den Style LBS_SORT besitzt. ResetContent löscht alle Einträge der Liste.
| Nachricht | wParam | lParam | Rückgabe |
|---|---|---|---|
| LB_SETITEMDATA | Index des Items | 4-Byte-Data | Bei Fehler LB_ERR |
| LB_GETITEMDATA | Index des Items | NULL | 4-Byte-Data |
| Homepage - Windows-API-Programmierung | (C) Copyright 1999 Arnold Willemer |