[GELÖST]ListIconGadget Titelleiste/Spalte etfernen?

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
Mijikai
Beiträge: 754
Registriert: 25.09.2016 01:42

[GELÖST]ListIconGadget Titelleiste/Spalte etfernen?

Beitrag 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)
;...
Zuletzt geändert von Mijikai am 02.12.2018 23:03, insgesamt 1-mal geändert.
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: [Hilfe]ListIconGadget Titelleiste/Spalte etfernen?

Beitrag 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
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
Mijikai
Beiträge: 754
Registriert: 25.09.2016 01:42

Re: [Hilfe]ListIconGadget Titelleiste/Spalte etfernen?

Beitrag 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.
Antworten