#WindowWidth = 640
#WindowHeight = 480
#WindowFlags = #PB_Window_MinimizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered | #PB_Window_SystemMenu
hWnd = OpenWindow(0, 0, 0, #WindowWidth, #WindowHeight, #WindowFlags, "")
CreateGadgetList(WindowID())
ListIconGadget(0, 0, 0, #WindowWidth, #WindowHeight, "Test", #WindowWidth)
ActivateGadget(0) ;Das muss sein ;)
For k=0 To 10
AddGadgetItem(0, -1, "Test "+Str(k))
Next
Repeat
If ElapsedMilliseconds()-t > 2000
SetGadgetState(0, Random(CountGadgetItems(0)-1))
t = ElapsedMilliseconds()
EndIf
Event = WindowEvent()
Delay(10)
Until Event = #PB_Event_CloseWindow
End
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Da haste was verkehrt verstanden, bzw. ich mich schlecht ausgedrückt. Wenn mehr Zeilen vorhanden als sichtbar, muß ich das ListIconGadget ja irgendwie weiterscrollen. Also mit SendMessage. Wahrscheinlich #LVM_SCROLL oder #LVM_ENSUREVISIBLE, kriegs aber nicht gebacken, der Scrollt nicht so, das die aktuelle Zeile sichtbar ist. Wenn ich dafür die Lösung hätte, das andere ist jetzt eingebaut. Nach Return oder Button springt er weiter zum nächsten Eintrag, aber wenn dieser ausserhalb des sichtbaren Bereichs liegt, scrollt er nicht, also das selektierte Element im ListIconGadget ist nicht sichtbar
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Ach so war das gemeint, naja, HeXOR hat dir die Lösung ja schon gegeben.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Auch nicht, ich habs aber Mithilfe der PV_Gadget Lib gelöst. Kannste jetzt Version 1.5.4 downloaden
Ich hoffe es entspricht Deinen Wünschen
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Wie auch nicht ?
Das einzige was ich vergessen hab, is ein ActivateGadget(0) vor das SetGadgetState(0, i) zu setzen, damit das auch funzt, wenn das Gadget den Focus verliert.
Ansonsten sollte es keine Probleme geben
Das wahr leider auch nicht das richtige, hab jetzt mit:
PV_Gadgets.chm hat geschrieben:
Forces the selected row of a ListIconGadget into view.
Use:
PVGadgets_SelectListIconRow(#Gadget,Row)
gelöst. Trotzdem vielen Danke für Eure Bemühungen
//Edit eine reine API-Lösung wäre trotzdem interessant, es muß ja ene passende Message geben
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
weil der Thread alt ist
Kann Dir aber gerne einen Downloadlink zukommen lassen, öffentlich gibts
im Moment keine Links, dafür haben mich zuviele verärgert!
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.