Kann man mit Event über Case irgendwie in der Repeat/Until-Schleife
das ScrollAreaGadget() abfragen, wenn man es anklickt oder verstellt?
Habe leider nichts passendes in PB_Event gefunden. Oder wie kann man
das irgendwie bewerkstelligen? Wäre sehr nett, wenn mir da jemand
weiterhelfen könnte.
Gruß Falko
Event für ScrollAreaGadget() ??
- Falko
- Admin
- Beiträge: 3535
- Registriert: 29.08.2004 11:27
- Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit) - Kontaktdaten:
Das kannst du mit einem Callback in etwa so:
Is so nicht lauffähig, bin jetzt zu faul, das richtig zu machen, hab´s einfach aus meinem Code kopiert.
Aber du schaffst das schon, ich hab da volles vertrauen in dich
Einfach Windowid() durch gadgetid() ersetzen
Code: Alles auswählen
Case WindowID(#window_scroll)
Select message
Case #WM_VSCROLL
If scrollmaxy=>1
If lParam=#Null
wLow=PeekW(@wParam)
wHi=PeekW(@wParam+2)
Select wLow
Case #SB_LEFT : vert = 0 : repaint.l =1 : mousey=(areay-vert+vert2)*Length+Length
Case #SB_RIGHT : vert = scrollmaxy : repaint.l =1 : mousey=(areay-vert+vert2)*Length+Length
Case #SB_PAGELEFT : If vert>0 : vert =vert-scrollstepbigvert(0) : repaint.l =1 : mousey=(areay-vert+vert2)*Length+Length : EndIf
Case #SB_PAGERIGHT : If vert<scrollmaxy : vert =vert+scrollstepbigvert(1) : repaint.l =1 : mousey=(areay-vert+vert2)*Length+Length : EndIf
Case #SB_LINELEFT : If vert>0 : vert =vert-1 : repaint.l =1 : mousey=(areay-vert+vert2)*Length+Length : EndIf
Case #SB_LINERIGHT : If vert<scrollmaxy : vert =vert+1 : repaint.l =1 : mousey=(areay-vert+vert2)*Length+Length : EndIf
Case #SB_THUMBPOSITION: vert = wHi : repaint.l =1 : mousey=(areay-vert+vert2)*Length+Length
Case #SB_THUMBTRACK : vert = wHi : repaint.l =1 : mousey=(areay-vert+vert2)*Length+Length
EndSelect
result=0
SetScrollPos_(WindowID(#window_scroll),#SB_VERT,vert,#True)
endselect
enselect
Aber du schaffst das schon, ich hab da volles vertrauen in dich
Einfach Windowid() durch gadgetid() ersetzen
Falsch zugeordnetes Zitat des Tages: "O'zapft is" - Edward Snowden 
- Falko
- Admin
- Beiträge: 3535
- Registriert: 29.08.2004 11:27
- Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit) - Kontaktdaten:
@Franky
Danke für deinen Tip und dein Vertrauen
.
Ich werde es morgen versuchen, mich mal mit der WindowsCallback-Funktion auseinander zu setzen.
Hab's bis jetzt immer vermieden. Aber anders wird's wohl doch nicht so
einfach sein das in einer schon bestehenden Repeat, Select, Endselect,
Until-Schleife einzubauen.
MfG Falko
Danke für deinen Tip und dein Vertrauen
Ich werde es morgen versuchen, mich mal mit der WindowsCallback-Funktion auseinander zu setzen.
Hab's bis jetzt immer vermieden. Aber anders wird's wohl doch nicht so
einfach sein das in einer schon bestehenden Repeat, Select, Endselect,
Until-Schleife einzubauen.
MfG Falko
