Seite 1 von 1

[GELÖST]ListIconGadget Titelleiste/Spalte etfernen?

Verfasst: 02.12.2018 22:54
von Mijikai
Frage zum ListIconGadget() :freak:

Ich würde gerne die Titelleiste entfernen und/oder zumindest die letze Trennung (Spalte).
Is das möglich ?

Bild:
Bild

Code ist ohne extra Columns:

Code: Alles auswählen

;...
;ListIconGadget(#PB_Any,X,Y,Width,Height,Title,Width - 40,#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect)
;...

Re: [Hilfe]ListIconGadget Titelleiste/Spalte etfernen?

Verfasst: 02.12.2018 23:00
von RSBasic
Um die ganze Spaltenleiste zu entfernen, einfach mit: #LVS_NOCOLUMNHEADER
Beispielcode:

Code: Alles auswählen

If OpenWindow(0, 0, 0, 500, 250, "Window", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  ListIconGadget(1, 10, 10, 480, 230, "", 100, #LVS_NOCOLUMNHEADER)
  
  For a=1 To 100
    AddGadgetItem(1, -1, "Item " + Str(a))
  Next
  
  Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
Wenn du die "letzte" Spalte nicht anzeigen lassen möchtest, kannst du die Breite der ersten Spalte auf volle Breite setzen. Entweder manuell oder automatisch mit:

Code: Alles auswählen

SendMessage_(GadgetID(1), #LVM_SETCOLUMNWIDTH, 0, #LVSCW_AUTOSIZE_USEHEADER)
Beispielcode:

Code: Alles auswählen

If OpenWindow(0, 0, 0, 500, 250, "Window", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  ListIconGadget(1, 10, 10, 480, 230, "Überschrift", 0, 0)
  
  For a=1 To 100
    AddGadgetItem(1, -1, "Item " + Str(a))
  Next
  
  SendMessage_(GadgetID(1), #LVM_SETCOLUMNWIDTH, 0, #LVSCW_AUTOSIZE_USEHEADER)
  
  Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf

Re: [Hilfe]ListIconGadget Titelleiste/Spalte etfernen?

Verfasst: 02.12.2018 23:02
von Mijikai
Danke :allright:

Ps.: Hab mal mit ImageList_Resize() rumgespielt.
Die Funktion ist nicht dokumentiert.

So kann sie aufgerufen werden:

Code: Alles auswählen

;Nach LoadLirary_() u. GetProcAddress_()...
;Alte Liste holen SendMessage()
CallFunctionFast(*ImageList_Resize,ImageList,Width,Height)
;Danach die alte Liste mit der Gleichen ('Neuen') überschreiben SendMessage_()
;Bringt nur was beim Downscaling da es sonst Artifakte gibt.