CR (Zeilenumbruch) in Listview

  • so ich schon wieder... das thema ist bestimmt bekannt, konnte aber mit der sufu keine lösung finden...

    ist es möglich in einem listview einen zeilenumbruch zu machen? kann doch nicht so schwer sein oder? weiß jemand von euch was dazu?

  • das hab ich jetzt auch schon auf diversen seiten gelesen...

    was heißt, brauch ich es wirklich.... ich hab ne filme DB gemacht und die ergebnisse werden mir über filteroptionen usw in einer listview angezeigt - darunter auch die beschreibung des films, welche ja auch meistens oft dementsprechend lang ist - hier wärs halt dann schön wenn ich wegen mir den string (den ich hier queryergebnis erhalte) ab einer gewissen länge splitte und dann einen zeilenumbruch machen könnte.... verstehst was ich meine?

    • Offizieller Beitrag

    Hi,

    du könntest:

    1: die Länge einfach beschränken (standard) und dann müsste man halt in die Zelle rein um es zu lesen
    2. den Text splitten, falls zu lang, eine Zeile einfügen und den Text dort anzeigen
    3. Die Anzeige dieser Zusatzinformationen einfach ausgliedern und z.B. eine GUI neben deiner GUI machen, wo immer diese langen Texte angezeigt werden. (Das würde ich wahrscheinlich tun)

    So long,

    Mega

  • ja sowas wie die 3e möglichkeit hab ich mir auch schon überlegt... hab sooderso n kontextmenü zum löschen bzw. editieren der Einträge, da mach ich mir dann vielleicht noch jeweils nen eintrag hinzu, über den ich dann eben die beschreibung in einem neuen gui/splashscreen/editbox oder sowas in der art anzeigen lasse...

    ok dann lass ichs mal wieder das rad neu zu erfinden und geb mich mit ner alternativlösung zufrieden :)

    dankeschön an alle

  • Oder ein Tooltip (hier mit v 3.2.8.1):

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #include <GuiListView.au3>
    GUICreate("listview items",220,350, 100,200,-1,$WS_EX_ACCEPTFILES)
    GUISetBkColor (0x00E0FFFF) ; will change background color

    [/autoit] [autoit][/autoit] [autoit]

    $listview = GUICtrlCreateListView ("col1 |col2|col3 ",10,10,200,150);,$LVS_SORTDESCENDING)
    $button = GUICtrlCreateButton ("Value?",75,170,70,20)
    $item1=GUICtrlCreateListViewItem("item2|col22|col23",$listview)
    $item2=GUICtrlCreateListViewItem("item1|col12|col13",$listview)
    $item3=GUICtrlCreateListViewItem("item3|col32|col33",$listview)
    $input1=GUICtrlCreateInput("",20,200, 150)
    $edit=GUICtrlCreateEdit("",20,230, 150,100,$ES_READONLY)
    GUICtrlSetState(-1,$GUI_DROPACCEPTED) ; to allow drag and dropping
    GUISetState()
    GUICtrlSetData($item2,"ITEM1" & @CRLF & "hi")
    GUICtrlSetData($item3,"||COL33")
    GUICtrlDelete($item1)

    [/autoit] [autoit][/autoit] [autoit]

    Global $tempSelected = 0 ; HoverItem

    [/autoit] [autoit][/autoit] [autoit]

    Do
    $msg = GUIGetMsg ()
    ;Tooltips
    If $tempSelected <> _GUICtrlListViewGetHotItem($listview) Then
    $tempSelected = _GUICtrlListViewGetHotItem($listview)
    $array = _GUICtrlListViewGetItemTextArray($listview,$tempSelected )
    $text = ""
    If Not IsArray($array) Then Dim $array[2]
    For $i = 1 To $array[0]
    $text &= StringReplace($array[$i],@CRLF,@CRLF&" ") & @CRLF
    Next
    ToolTip(StringTrimRight($text,2))
    EndIf
    ;Tooltips Ende
    Select
    Case $msg = $button
    MsgBox(0,"listview item",GUICtrlRead(GUICtrlRead($listview)),2)
    Case $msg = $listview
    MsgBox(0,"listview", "clicked="& GUICtrlGetState($listview),2)
    EndSelect
    Until $msg = $GUI_EVENT_CLOSE

    [/autoit]