Seite 1 von 1
ClearGadgetItems auch für Columns?
Verfasst: 27.01.2009 20:34
von TheSaint
Hallo Zusammen,
ich habe eine Frage zu einem ListviewGadget, und zwar:
ich kann ja alle Einträge in einem ListviewGadget mit dem
Befehl: ClearGadgetItems löschen.
Jedoch wie kann ich den alle Spaltenüberschriften löschen?
Mit diesem Befehl fülle ich die Spaltenüberschriften:
Code: Alles auswählen
AddGadgetColumn(#Listview_0,0,DatabaseColumnName(db, Spalten-Spalte),90)
Mit RemoveGadgetColumn(#Gadget, Spalte) kann ich immer
nur eine Spalte löschen.
Habe in der Hilfe gesucht und hier im Forum. Irgendwie hab ich nichts gefunden.
Wäre toll, wenn mir hier jemand helfen könnte.
Verfasst: 27.01.2009 20:37
von HeX0R
Wenn du eh alles löschen willst, dürfte es am schnellsten gehen, einfach das ganze Gadget neu zu erstellen.
Verfasst: 27.01.2009 20:40
von ts-soft
Du meinst ein ListIconGadget?
Wirste wohl eine schleife nehmen müssen
Verfasst: 27.01.2009 20:50
von TheSaint
Hallo HeXOR,
hallo ts-soft,
vielen Dank für Eure Hilfe.
ts-soft: Oh, Verzeihung, ja Du hast vollkommen recht, meinte ein ListiconGadget. Ja das mit der Schleife bekomme ich hin. Schade,
dachte es gebe hierfür auch einen Befehl.
HeXOR: Hm, muss ich dann, wenn ich das Gadget neu erstelle, immer folgenden gesamten Code aufrufen:??
Code: Alles auswählen
AddGadgetItem(#Panel10,-1,"Informationen") ;Register Informationen
ContainerGadget(#Pan2, 0, 0, 679, 374, #PB_Container_Flat)
PanelGadget(#Panel11, 5, 5, 675, 350)
AddGadgetItem (#Panel11, -1, "Info Suche") ;Register Informationen / Info Suche
ListIconGadget(#Listview_0, 10, 200, 650, 120, "", 80,#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect|#PB_ListIcon_MultiSelect|#PB_ListIcon_HeaderDragDrop)
SendMessage_(GadgetID(#Listview_0), #LVM_SETEXTENDEDLISTVIEWSTYLE, 0, #LVS_EX_LABELTIP)
CloseGadgetList()
Nochmals vielen Dank für Eure Hilfe
Verfasst: 27.01.2009 21:05
von HeX0R
Nein, das ginge auch irgendwie mit OpenGadgetList(), aber dann dürfte es wohl doch einfacher sein eine Schleife zu machen.
Verfasst: 27.01.2009 21:09
von Fluid Byte
TheSaint hat geschrieben:dachte es gebe hierfür auch einen Befehl.

Kannst dir ja einen schnitzen:
Code: Alles auswählen
Procedure RemoveColumns(Gadget)
hwndHeader = SendMessage_(GadgetID(Gadget),#LVM_GETHEADER,0,0)
Count = SendMessage_(hwndHeader,#HDM_GETITEMCOUNT,0,0)
For i=Count To 1 Step -1
RemoveGadgetColumn(0,i)
Next
EndProcedure
OpenWindow(0,0,0,500,400,"void",#PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ListIconGadget(0,0,0,0,0,"Spalte1",80)
AddGadgetColumn(0,1,"Spalte2",80)
AddGadgetColumn(0,2,"Spalte3",80)
AddGadgetColumn(0,3,"Spalte4",80)
AddGadgetColumn(0,4,"Spalte5",80)
For i=0 To 50
AddGadgetItem(0,-1,"blah" + Chr(10) + "blah" + Chr(10) + "blah" + Chr(10) + "blah" + Chr(10) + "blah")
Next
ButtonGadget(1,5,5,100,25,"Mach weg!")
Repeat
EventID = WaitWindowEvent()
If EventID = #PB_Event_Gadget And EventGadget() = 1
RemoveColumns(0)
EndIf
If EventID = #PB_Event_SizeWindow
ResizeGadget(0,5,30,WindowWidth(0)-10,WindowHeight(0)-35)
EndIf
Until EventID = #PB_Event_CloseWindow
Verfasst: 27.01.2009 21:30
von TheSaint
Hallo HeXOR,
hallo Fluid Byte,
HeXOR: Ja, das werde ich machen.
Fluid Byte: Oh, super vielen Dank für Deinen Code Schnippsel.
Den kann ich super verwenden.
Nochmals allen vielen Dank.
Verfasst: 27.01.2009 23:25
von marco2007
..hab ich zwar noch nie gebraucht, aber ohne API:
Code: Alles auswählen
OpenWindow(0,0,0,500,400,"void",#PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ListIconGadget(0,0,0,0,0,"Spalte1",80)
AddGadgetColumn(0,1,"Spalte2",80)
AddGadgetColumn(0,2,"Spalte3",80)
AddGadgetColumn(0,3,"Spalte4",80)
AddGadgetColumn(0,4,"Spalte5",80)
For i=0 To 50
AddGadgetItem(0,-1,"blah" + Chr(10) + "blah" + Chr(10) + "blah" + Chr(10) + "blah" + Chr(10) + "blah")
Next
ButtonGadget(1,5,5,100,25,"Mach weg!")
Repeat
EventID = WaitWindowEvent()
If EventID = #PB_Event_Gadget And EventGadget() = 1
While GetGadgetItemText(0, -1, 0)<>""
RemoveGadgetColumn(0, 0)
Wend
EndIf
If EventID = #PB_Event_SizeWindow
ResizeGadget(0,5,30,WindowWidth(0)-10,WindowHeight(0)-35)
EndIf
Until EventID = #PB_Event_CloseWindow