Deutsch
Forum

Scrollbalken mit -/+ Scrollbereich

 
- Seite 1 -



GDL
Hallöle,

darf der Scrollbereich eines Scrollbalken nicht von Minus nach Plus gehen.
Siehe Beispiel:
KompilierenMarkierenSeparieren
declare 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
 
XProfan X3
Windows7 Xprofan 8,9,10 [...]  [...] 
19.10.2014  
 



« 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 X2
Intel 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:
KompilierenMarkierenSeparieren
declare 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
 
XProfan X2
TC-Programming [...] 
XProfan 8.0 - 10.0 - X2 - X3 - X4

20.10.2014  
 




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
 
XProfan X3
Windows7 Xprofan 8,9,10 [...]  [...] 
21.10.2014  
 




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 X2
Intel 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
 
XProfan X3
Windows7 Xprofan 8,9,10 [...]  [...] 
19.05.2015  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

9.710 Betrachtungen

Unbenanntvor 0 min.
Thomas Freier04.02.2023
RudiB.17.09.2022
H.Brill18.02.2022
Jörg Sellmeyer07.06.2020
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie