DLL2PBLib SourceCode Generator Update Version 1.5.5

Anwendungen, Tools, Userlibs und anderes nützliches.
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Code: Alles auswählen

#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.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

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.
Bild
Benutzeravatar
HeX0R
Beiträge: 3040
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Beitrag von HeX0R »

Code: Alles auswählen

#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 1000
  AddGadgetItem(0, -1, "Test "+Str(k))
Next

Repeat
  If ElapsedMilliseconds()-t > 2000
    i = Random(CountGadgetItems(0)-1)
    SetGadgetState(0, i)
    SendMessage_(GadgetID(0), #LVM_ENSUREVISIBLE, i, 0)
    t = ElapsedMilliseconds()
  EndIf
  Event = WindowEvent()
  Delay(10)
Until Event = #PB_Event_CloseWindow
End
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

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.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

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 :wink:
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.
Bild
Benutzeravatar
HeX0R
Beiträge: 3040
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Beitrag von HeX0R »

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
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

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 :allright:

//Edit eine reine API-Lösung wäre trotzdem interessant, es muß ja ene passende Message geben :freak:
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.
Bild
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag von MVXA »

Warum gibt es denn kein Download mehr :cry: ?
Bild
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

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.
Bild
Benutzeravatar
dige
Beiträge: 1235
Registriert: 08.09.2004 08:53

Beitrag von dige »

Ich wäre auch interessiert! Habe den Thread erst jetzt bemerkt
"Papa, ich laufe schneller - dann ist es nicht so weit."
Antworten