|
Die Innenmaße einer ListBox ermitteln Sie mit Hilfe der
API-Funktion GetClientRect.
Sie unterscheiden sich in jedem Fall von der Außenbreite und sind
dazu noch je nach Einstellung der Eigenschaft Appearance der ListBox
(0 - 2D oder 1 - 3D) unterschiedlich. Ebenfalls wird von der
Innenbreite die Breite eines gegebenenfalls sichtbaren Rollbalkens
abgezogen.
Sie übergeben der ListBox das Fenster-Handle aus der Eigenschaft
hWnd und eine benutzerdefinierte Variable des Typs RECT. Im Element
Right erhalten Sie anschließend die Innenbreite und im Element
Bottom die Innenhöhe der ListBox.
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Private Declare Function GetClientRect Lib "User32" _
(ByVal hWnd As Long, lpRect As RECT) As Long
' ...
Dim nRect As RECT
GetClientRect List1.hWnd, nRect
Debug.Print "Innenbreite:", nRect.Right
Debug.Print "Innenhöhe:", nRect.Bottom
Diese Werte sind in Pixels, die Sie gegebenenfalls noch in Twips
umrechnen müssen.
|