Seite 1 von 1

Horizontale Scrollbar im Listviewgadget

Verfasst: 05.01.2005 23:18
von bluejoke
Hallo!

Ich habe zwar nach eingem Suchen im englischen Forum

Code: Alles auswählen

SendMessage_(ListViewGadgetHandle,#LB_SETHORIZONTALEXTENT,width,0)
entdeckt, aber es ist leider nicht ganz das was ich brauche.
Ich hätte gerne einen horizontalen Scrollbalken der nur dann erscheint, wenn er auch benötigt wird. Kann mir da jemand helfen?


Danke,

Simon

Verfasst: 06.01.2005 15:23
von bluejoke
Ich hätte noch ein Problem, bei dem ich zwar weiß, dass es gehen müsste, mich bis jetzt aber dumm und dapplig (<- wie schreibt man das?) gesucht hab:

Ich möchte im ListViewGadget dem User die Möglichkeit geben, mehrere Zeilen auszuwählen. Wenn er draufklickt wird jeweils der Eintrag markiert bzw. entmarkiert.
Dann müsste ich rausfinden, welche Einträge alle markiert sind.



Danke, Simon

Verfasst: 06.01.2005 15:28
von DarkDragon
bluejoke hat geschrieben:Ich hätte noch ein Problem, bei dem ich zwar weiß, dass es gehen müsste, mich bis jetzt aber dumm und dapplig (<- wie schreibt man das?) gesucht hab:

Ich möchte im ListViewGadget dem User die Möglichkeit geben, mehrere Zeilen auszuwählen. Wenn er draufklickt wird jeweils der Eintrag markiert bzw. entmarkiert.
Dann müsste ich rausfinden, welche Einträge alle markiert sind.



Danke, Simon
Da kann ich vielleicht helfen:

Code: Alles auswählen

For k=0 To CountGadgetItems(#ListViewGadget)-1
  If GetGadgetItemState(#ListViewGadget, k) : MessageRequester("", Str(k)) : EndIf
Next
Beim ersten kann ich nicht helfen. Das selbe Problem hatte ich auch, habs aber nie gelöst bekommen.

Verfasst: 06.01.2005 15:37
von bluejoke
Ahh, klar, so muss das klappen, aber erst muss man doch irgendwie das Multiselect-Feature (hab gerade gesehen, bei ListIcongadget gibts das so: #PB_ListIcon_MultiSelect) einschalten.

Verfasst: 06.01.2005 15:59
von DarkDragon
Dazu brauchst du diese Flag-Konstante: #LBS_EXTENDEDSEL
Wenn ich mir die flags ansehe, dann geht das mit dem Horizontalscrolling nicht wirklich richtig:
LBS_MULTICOLUMN

Specifies a multicolumn list box that is scrolled horizontally. The LB_SETCOLUMNWIDTH message sets the width of the columns.

Code: Alles auswählen

#WindowWidth  = 640
#WindowHeight = 480
#WindowFlags  = #PB_Window_SizeGadget | #PB_Window_MaximizeGadget | #PB_Window_MinimizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered | #PB_Window_SystemMenu

hWnd = OpenWindow(0, 0, 0, #WindowWidth, #WindowHeight, #WindowFlags, "")

CreateGadgetList(hWnd)
ListViewGadget(0, 0, 0, #WindowWidth, #WindowHeight, #LBS_EXTENDEDSEL | #LBS_MULTICOLUMN)

Text.s = "Blubb"
For k=0 To 50
  AddGadgetItem(0, -1, Text)
Next

Repeat
  Event = WindowEvent()
  Delay(10)
Until Event = #PB_Event_CloseWindow
End