ListBoxMessageEnum: Unterschied zwischen den Versionen
K ("verwaltet von" auskommentiert) |
K (vb) |
||
Zeile 1: | Zeile 1: | ||
__TOC__ | __TOC__ | ||
Die Mitglieder der Enumeration ListBoxMessageEnum sind Nachrichten, die an Listenfelder gesandt werden, um das Verhalten zu steuern und Daten zu setzen oder zu ermitteln. | Die Mitglieder der Enumeration ListBoxMessageEnum sind Nachrichten, die an Listenfelder gesandt werden, um das Verhalten zu steuern und Daten zu setzen oder zu ermitteln. | ||
− | |||
− | |||
= Deklaration = | = Deklaration = | ||
− | < | + | <vb>Const LB_BASE As Long = &H180 |
− | Const LB_BASE As Long = &H180 | ||
Enum ListBoxMessageEnum | Enum ListBoxMessageEnum | ||
Zeile 50: | Zeile 47: | ||
LB_ITEMFROMPOINT = LB_BASE + &H29 | LB_ITEMFROMPOINT = LB_BASE + &H29 | ||
LB_MSGMAX = LB_BASE + &H30 | LB_MSGMAX = LB_BASE + &H30 | ||
− | End Enum | + | End Enum</vb> |
− | </ | ||
Die Nachrichten können mit [[SendMessage]] oder [[PostMessage]] versandt werden. | Die Nachrichten können mit [[SendMessage]] oder [[PostMessage]] versandt werden. | ||
− | |||
− | |||
= Beschreibung = | = Beschreibung = | ||
Zeile 70: | Zeile 64: | ||
===== Beispiel ===== | ===== Beispiel ===== | ||
− | < | + | <vb>Dim lngResult As Long |
− | Dim lngResult As Long | ||
Dim strText As String | Dim strText As String | ||
Zeile 84: | Zeile 77: | ||
ListBoxMessageEnum.LB_ADDSTRING, _ | ListBoxMessageEnum.LB_ADDSTRING, _ | ||
0, strText) | 0, strText) | ||
− | End If | + | End If</vb> |
− | </ | ||
− | |||
− | |||
==== LB_DELETESTRING ==== | ==== LB_DELETESTRING ==== | ||
Zeile 100: | Zeile 90: | ||
===== Beispiel ===== | ===== Beispiel ===== | ||
− | < | + | <vb>Dim lngResult As Long |
− | Dim lngResult As Long | ||
lngResult = SendMessageLong(List1.hWnd, _ | lngResult = SendMessageLong(List1.hWnd, _ | ||
Zeile 113: | Zeile 102: | ||
lngResult - 1, ByVal 0&) | lngResult - 1, ByVal 0&) | ||
End If | End If | ||
− | End If | + | End If</vb> |
− | </ | ||
− | |||
− | |||
==== LB_GETCOUNT ==== | ==== LB_GETCOUNT ==== | ||
Zeile 127: | Zeile 113: | ||
===== Beispiel ===== | ===== Beispiel ===== | ||
− | < | + | <vb>Debug.Print SendMessageLong(List1.hWnd, _ |
− | Debug.Print SendMessageLong(List1.hWnd, _ | ||
ListBoxMessageEnum.LB_GETCOUNT, _ | ListBoxMessageEnum.LB_GETCOUNT, _ | ||
− | 0, ByVal &H0) | + | 0, ByVal &H0)</vb> |
− | </ | ||
− | |||
− | |||
==== LB_INSERTSTRING ==== | ==== LB_INSERTSTRING ==== | ||
Zeile 146: | Zeile 128: | ||
===== Beispiel ===== | ===== Beispiel ===== | ||
− | < | + | <vb>Dim lngResult As Long |
− | Dim lngResult As Long | ||
Dim strText As String | Dim strText As String | ||
Zeile 160: | Zeile 141: | ||
ListBoxMessageEnum.LB_INSERTSTRING, _ | ListBoxMessageEnum.LB_INSERTSTRING, _ | ||
0, strText) | 0, strText) | ||
− | End If | + | End If</vb> |
− | </ | ||
− | |||
− | |||
==== LB_RESETCONTENT ==== | ==== LB_RESETCONTENT ==== | ||
Zeile 174: | Zeile 152: | ||
===== Beispiel ===== | ===== Beispiel ===== | ||
− | < | + | <vb>Call SendMessageLong(List1.hWnd, _ |
− | Call SendMessageLong(List1.hWnd, _ | ||
ListBoxMessageEnum.LB_RESETCONTENT, _ | ListBoxMessageEnum.LB_RESETCONTENT, _ | ||
− | 0, ByVal &H0) | + | 0, ByVal &H0)</vb> |
− | </ | ||
= Beispiele = | = Beispiele = | ||
− | |||
− | |||
= Weblinks = | = Weblinks = | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
[[Kategorie:Enum]] | [[Kategorie:Enum]] |
Version vom 13. Mai 2008, 17:42 Uhr
Inhaltsverzeichnis
Die Mitglieder der Enumeration ListBoxMessageEnum sind Nachrichten, die an Listenfelder gesandt werden, um das Verhalten zu steuern und Daten zu setzen oder zu ermitteln.
Deklaration
<vb>Const LB_BASE As Long = &H180
Enum ListBoxMessageEnum
LB_ADDSTRING = LB_BASE + &H0 LB_INSERTSTRING = LB_BASE + &H1 LB_DELETESTRING = LB_BASE + &H2 LB_SELITEMRANGEEX = LB_BASE + &H3 LB_RESETCONTENT = LB_BASE + &H4 LB_SETSEL = LB_BASE + &H5 LB_SETCURSEL = LB_BASE + &H6 LB_GETSEL = LB_BASE + &H7 LB_GETCURSEL = LB_BASE + &H8 LB_GETTEXT = LB_BASE + &H9 LB_GETTEXTLEN = LB_BASE + &HA LB_GETCOUNT = LB_BASE + &HB LB_SELECTSTRING = LB_BASE + &HC LB_DIR = LB_BASE + &HD LB_GETTOPINDEX = LB_BASE + &HE LB_FINDSTRING = LB_BASE + &HF LB_GETSELCOUNT = LB_BASE + &H10 LB_GETSELITEMS = LB_BASE + &H11 LB_SETTABSTOPS = LB_BASE + &H12 LB_GETHORIZONTALEXTENT = LB_BASE + &H13 LB_SETHORIZONTALEXTENT = LB_BASE + &H14 LB_SETCOLUMNWIDTH = LB_BASE + &H15 LB_ADDFILE = LB_BASE + &H16 LB_SETTOPINDEX = LB_BASE + &H17 LB_GETITEMRECT = LB_BASE + &H18 LB_GETITEMDATA = LB_BASE + &H19 LB_SETITEMDATA = LB_BASE + &H1A LB_SELITEMRANGE = LB_BASE + &H1B LB_SETANCHORINDEX = LB_BASE + &H1C LB_GETANCHORINDEX = LB_BASE + &H1D LB_SETCARETINDEX = LB_BASE + &H1E LB_GETCARETINDEX = LB_BASE + &H1F LB_SETITEMHEIGHT = LB_BASE + &H20 LB_GETITEMHEIGHT = LB_BASE + &H21 LB_FINDSTRINGEXACT = LB_BASE + &H22& LB_SETLOCALE = LB_BASE + &H25 LB_GETLOCALE = LB_BASE + &H26 LB_SETCOUNT = LB_BASE + &H27 LB_INITSTORAGE = LB_BASE + &H28 LB_ITEMFROMPOINT = LB_BASE + &H29 LB_MSGMAX = LB_BASE + &H30
End Enum</vb>
Die Nachrichten können mit SendMessage oder PostMessage versandt werden.
Beschreibung
LB_ADDSTRING
Wert (hex/dez): &H180 = 384
Mit dieser Nachricht wird ein neues Element in die Liste eingefügt. Das neue Element wird an das Ende der Liste gestellt.
wParam wird nicht benötigt und muß den Wert 0 haben. lParam ist ein Zeiger auf das einzufügende Element, welches mit einem Nullbyte abgeschlossen werden muß.
Ist bei einer Listbox das Style-Flag LBS_SORT, aber nicht das Style-Flag LBS_HASSTRINGS gesetzt, empfängt der Eigentümer der Liste mindestens einmal die Nachricht WM_COMPAREITEM, um die korrekte Sortierreihenfolge zu gewährleisten.
Ist der Aufruf erfolgreich, wird der Index des hinzugefügten Elementes zurückgegeben. Tritt ein Fehler auf, wird LB_ERR zurückgegeben, der Fehler kann dann mit Err.LastDLLError abgefragt werden. Falls die ListBox nicht mehr genügend Speicher hat, wird LB_ERRSPACE zurückgegeben.
Beispiel
<vb>Dim lngResult As Long Dim strText As String
lngResult = SendMessageLong(List1.hWnd, _
ListBoxMessageEnum.LB_GETCOUNT, _ 0, ByVal 0&)
If lngResult <> ListBoxResultEnum.LB_ERR Then
strText = "Eintrag " & CStr(lngResult + 1) lngResult = SendMessageString(List1.hWnd, _ ListBoxMessageEnum.LB_ADDSTRING, _ 0, strText)
End If</vb>
LB_DELETESTRING
Wert (hex/dez): &H182 = 386
Dise Nachricht wird an eine ListBox gesandt, um ein Element aus der Liste zu entfernen.
wParam benennt das zu entfernende Element, lParam wird nicht benötigt und muß den Wert 0 haben.
Ist das Style-Flag LBS_HASSTRINGS der ListBox gesetzt, empfängt der Eigentümer der ListBox die Nachricht WM_DELETEITEM, um das Element und zugehörige Daten zu entfernen.
Zurückgegeben wird die Anzahl der verbleibenden Elemente in der Liste. Tritt ein Fehler auf, wird LB_ERR zurückgegeben, der Fehler kann dann mit Err.LastDLLError abgefragt werden.
Beispiel
<vb>Dim lngResult As Long
lngResult = SendMessageLong(List1.hWnd, _
ListBoxMessageEnum.LB_GETCOUNT, _ 0, ByVal 0&)
If (lngResult <> ListBoxResultEnum.LB_ERR) Then
If lngResult <> 0 Then lngResult = SendMessageLong(List1.hWnd, _ ListBoxMessageEnum.LB_DELETESTRING, _ lngResult - 1, ByVal 0&) End If
End If</vb>
LB_GETCOUNT
Wert (hex/dez): &H18B = 395
Um die Anzahl der Einträge in einer ListBox zu ermitteln, wird diese Nachricht an die ListBox gesandt.
wParam und lParam werden nicht benötigt und müssen den Wert 0 haben.
Zurückgegeben wird die Anzahl der enthaltenen Einträge. Falls ein Fehler aufgetreten ist, wird stattdessen LB_ERR zurückgegeben, der Fehler kann dann mit Err.LastDLLError abgefragt werden.
Beispiel
<vb>Debug.Print SendMessageLong(List1.hWnd, _
ListBoxMessageEnum.LB_GETCOUNT, _ 0, ByVal &H0)</vb>
LB_INSERTSTRING
Wert (hex/dez): &H181 = 385
Diese Nachricht stellt das Element an die in benannte Position.
wParam enthält die Position, an der das Element eingetragen werden soll. lParam ist ein Zeiger auf das einzufügende Element, welches mit einem Nullbyte abgeschlossen werden muß.
Im Gegensatz zu LB_ADDSTRING wird bei Listen, bei denen das Style-Flag LBS_SORT gesetzt ist, die Sortierung ignoriert und das Element an die benannte Position gesetzt.
Ist der Aufruf erfolgreich, wird der Index des hinzugefügten Elementes zurückgegeben. Tritt ein Fehler auf, wird LB_ERR zurückgegeben, der Fehler kann dann mit Err.LastDLLError abgefragt werden. Falls die ListBox nicht mehr genügend Speicher hat, wird LB_ERRSPACE zurückgegeben.
Beispiel
<vb>Dim lngResult As Long Dim strText As String
lngResult = SendMessageLong(List1.hWnd, _
ListBoxMessageEnum.LB_GETCOUNT, _ 0, ByVal 0&)
If lngResult <> ListBoxResultEnum.LB_ERR Then
strText = "Eintrag " & CStr(lngResult + 1) lngResult = SendMessageString(List1.hWnd, _ ListBoxMessageEnum.LB_INSERTSTRING, _ 0, strText)
End If</vb>
LB_RESETCONTENT
Wert (hex/dez): &H184 = 388
Entfernt alle Elemente aus der Liste der Listbox.
wParam und lParam werden nicht benötigt und müssen den Wert 0 haben.
Hat die Combobox den Stil LBS_HASSTRINGS, empfängt der Eigentümer der Combobox für jedes Element die Nachricht WM_DELETEITEM.
Beispiel
<vb>Call SendMessageLong(List1.hWnd, _
ListBoxMessageEnum.LB_RESETCONTENT, _ 0, ByVal &H0)</vb>