Hallo,
wie kann man den Zeilenabstand ändern?
Listview
-
emeuv -
17. Juli 2017 um 17:31 -
Erledigt
-
-
Hallo @emeuv,
ich weiß nicht, wie es unabhängig von der Schriftgröße geht.. Das ist jedenfalls eine bestimmende Größe, weil die Felder dabei automatisch angepasst werden.
Spoiler anzeigen
AutoIt
Alles anzeigen#include <GUIConstantsEx.au3> #include <GuiListView.au3> Example(5) Example(8.5) Example(12) Func Example($iFont) Local $iY, $idListview GUICreate("ListView", 400, 300) $idListview = GUICtrlCreateListView("", 2, 2, 394, 268) GUISetState(@SW_SHOW) _GUICtrlListView_InsertColumn($idListview, 0, "Column 1", 100) For $iI = 0 To 9 _GUICtrlListView_AddItem($idListview, "Row " & $iI) GUICtrlSetFont(-1, $iFont, 500) Next _GUICtrlListView_SetItemSelected($idListview, 0) Sleep(1000) EndFunc ;==>Example
-
Die Höhe einer Zeile ist definiert durch die Schriftgröße der verwendeten Schriftart. Eine Zeile individuellhoch gestalten wird wohl nicht möglich sein.
Du kannst aber leere Zeilen eintragen um ein bisschen Abstand zu gewinnen. -
HA! Got you @alpines
-
HA! Got you @alpines
War auch die ganze Zeit nebenbei beschäftigt und den Thread knapp 25 Minuten zu spät gesehen
-
Das glaube ich dir absolut. Ich kann es ja selbst kaum fassen
@emeuv
Falls du die Höhe anders manipulieren möchtest, könntest du es mit dieser UDF versuchen:
https://www.autoitscript.com/forum/topic/17…drawn-listview/Wenigstens denke ich mir, dass du über die Anwendung von Zeilenumbrüchen, die Item-Höhe noch beeinflussen kannst.
-
- Offizieller Beitrag
Du kannst auch einen "kreativen Workaround" nutzen: Verwende in den Item ein Image (nur 1px breit in Hintergrundfarbe mit der gewünschten Höhe) um die Zeilenhöhe anzupassen:
AutoIt
Alles anzeigen#include <WinAPI.au3> #include <GuiListView.au3> #include <GuiImageList.au3> Func _TestLV($iRowHeight=16, $iBGColor=0xFFFFFF) Local $hGui = GUICreate('') Local $iStylesEx = BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT, $LVS_EX_SUBITEMIMAGES) Local $cLV = GuiCtrlCreateListView('', 10, 10, 350, 300, BitOR($LVS_SHOWSELALWAYS, $LVS_NOSORTHEADER, $LVS_REPORT)) Local $hLV = GUICtrlGetHandle($cLV) _GUICtrlListView_SetExtendedListViewStyle($hLV, $iStylesEx) Local $hImageList = _GUIImageList_Create(1, $iRowHeight) _GUIImageList_Add($hImageList, _WinAPI_CreateSolidBitmap($hLV, $iBGColor, 1, $iRowHeight)) _GUICtrlListView_SetImageList($hLV, $hImageList, 1) _GUICtrlListView_AddColumn($hLV, "Items", 120) For $i = 1 To 10 _GUICtrlListView_AddItem($hLV, "Item " & $i, 0) Next GUISetState(@SW_SHOW) Do Until GUIGetMsg() = -3 EndFunc _TestLV(25) ; 1px breites Bitmap in Hintergrundfarbe wird mit eingezeichnet, Höhe variabel
-
Coole Idee @BugFix