| |
|
|
- Seite 1 - |
|
GDL | Hallöle,
darf der Scrollbereich eines Scrollbalken nicht von Minus nach Plus gehen. Siehe Beispiel: KompilierenMarkierenSeparierendeclare ende%,scrollbalken&
cls
scrollbalken&=create("hscroll",%hwnd,"",10,20,300,25)
SetScrollRange scrollbalken&,-200,200
SetScrollPos scrollbalken&,-10
sleep 300
SetScrollPos scrollbalken&,150
sleep 300
SetScrollPos scrollbalken&,-200
sleep 300
SetScrollPos scrollbalken&,0
'setscrollpos geht im negativen Bereich
'durch Drücken auf den kleinen nach Linkspfeil kann man auch den negativen Bereich anfahren
'mit dem Regler den negativen Bereich anfahren geht nicht. Regler springt immer zum positiven Anschlag
whilenot ende%
wend
Grüßle Georg |
|
|
| |
|
|
|
« Dieser Beitrag wurde als Lösung gekennzeichnet. » |
|
RGH | Da war tatsächlich noch ein Bug drin, der allerdings schon immer drin war: Die entsprechende Message gibt die Scrollposition als Word (0 ... 65535) zurück. Wenn der Wert größer als 32767 ist, muss daher 65536 abgezogen werden, um die richtige Position (-32767 ... +32767) zu ermitteln. Dieser Schritt fehlte bislang.
Nach nunmehr fast 20 Jahren wird auch dieser Bug gefixt!
Gruß Roland |
|
|
| XProfan X2Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 18.05.2015 ▲ |
|
|
|
|
|
Jörg Sellmeyer | Wenn du negative Werte haben willst, musst du sie nach dem Auslesen quasi errechnen: KompilierenMarkierenSeparierendeclare ende%,scrollbalken&
cls
scrollbalken&=create("hscroll",%hwnd,"",10,30,300,25)'Scroll mit Werten von 0 bis ...
SetScrollRange scrollbalken&,0,400
'SetScrollPos scrollbalken&,-10
'sleep 300
SetScrollPos scrollbalken&,150
sleep 300
SetScrollPos scrollbalken&,-200
sleep 300
SetScrollPos scrollbalken&,0
'setscrollpos geht im negativen Bereich
whilenot ende%
Waitinput
Locate 1,1
Print GetScrollPos(scrollbalken&) - 200," "'Position auslesen und gewünschten Nullpunkt abziehen
wend
Nachtrag: Ich seh gerade, dass laut Hilfe eigentlich auch negative Werte möglich sein müssten. Ein alter mitgeschleppter Bug? |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 20.10.2014 ▲ |
|
|
|
|
Georg Teles | Hmm, jau Hilfe sagt: niedrigster Wert ( -32767 ), höchster Wert ( 32767 )
Der Balken springt sowohl in XProfan X2, in XProfan 10.0 als auch in 8.0, sieht nach einem Bug aus |
|
|
| |
|
|
|
Jörg Sellmeyer | Für deine Zwecke schicker und vielseitiger dürfte ohnehin eine Trackbar sein: KompilierenMarkierenSeparieren $H commctrl.ph
DEF GETSYSCOLOR(1) !"USER32","GetSysColor"
declare slider1&,slider2&
Set("TrueColor", 1)
cls GETSYSCOLOR(15)
Set("decimals", 0)
slider1&=Control("MSCTLS_TRACKBAR32", "Trackbar01", $54010004, 10, 100, 400, 40, %hwnd, 2011, %hInstance, $00010004)'Horizontale Trackbar
slider2&=Control("MSCTLS_TRACKBAR32", "Trackbar02", $54000017, 50, 200, 40, 100, %hwnd, 2012, %hInstance, $00010004)
SendMessage(slider1&,~TBM_SETRANGE,1,MakeLong(-100,100))'die 1 erzwingt das Neuzeichnen des Sliders
SendMessage(slider2&,~TBM_SETRANGE,1,MakeLong(-200,400))
SendMessage(slider1&,~TBM_SETTIC,1,0)
whilenot %scankey=27
waitinput
locate 1,1
print "Trackbar 1:";SendMessage(slider1&,$0400,0,0);" "
print "Trackbar 2:";SendMessage(slider2&,$0400,0,0);" "
endwhile
|
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 20.10.2014 ▲ |
|
|
|
|
GDL | Hi,
danke. Links und rechts noch nen kleinen Button für 1Schrittweite und es funzt.
Grüßle Georg |
|
|
| |
|
|
|
RGH | Da war tatsächlich noch ein Bug drin, der allerdings schon immer drin war: Die entsprechende Message gibt die Scrollposition als Word (0 ... 65535) zurück. Wenn der Wert größer als 32767 ist, muss daher 65536 abgezogen werden, um die richtige Position (-32767 ... +32767) zu ermitteln. Dieser Schritt fehlte bislang.
Nach nunmehr fast 20 Jahren wird auch dieser Bug gefixt!
Gruß Roland |
|
|
| XProfan X2Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 18.05.2015 ▲ |
|
|
|
|
GDL | Hi Roland,
immer der Georg mit seinen Spezialprogrammen. Grins.
Grüßle Georg |
|
|
| |
|
|