![]() |
Re: problem mit den messages der trackbar
Delphi-Quellcode:
in einem aelteren sdk stand, das lParam aufjedenfall positiv sein muss. auf msdn steht dazu nur, das lParam zwischen dem minimun und dem maximum sein muss. ich wuerde die zahl jedenfalls positiv halten
SendMessage(handle, TBM_SETTIC, 0, pos);
|
Re: problem mit den messages der trackbar
Zitat:
was willst du denn jetzt mit TBM_SETTICFREQ? |
Re: problem mit den messages der trackbar
das mit setticfreq war nen versehen, aber auch mit settic hab ich kein erfolg??!! ich weiß auch nciht wirklich was genau das macht...
|
Re: problem mit den messages der trackbar
Liste der Anhänge anzeigen (Anzahl: 1)
also bei mir klappt das wunderbar. im anhang eine trackbar, zu der ich folgende message geschickt habe:
Delphi-Quellcode:
SendMessage(handle, TBM_SETTIC, 0, 32);
|
Re: problem mit den messages der trackbar
kannst du das mal bitte mit einer größeren spanne probieren??
hast du dein bsp nonvcl erzeugt?? oder hast du vcl das bsp programmiert..? |
Re: problem mit den messages der trackbar
kein vcl. um ehrlich zu sein nutze ich nichtmal delphi :>
mir ist gerade noch was eingefallen. ueber windows setzt du ja die spanne deiner trackbar mit der ![]() jetzt kommt's MAKELONG (lMinimum, lMaximum) ist ein makro, das zwei vorzeichenlose 2 byte integer zu einem 4 byte integer umbastelt. mit 2 bytes kommt man von 0 bis 65535. also keine negativen werte und bei 65535 ist schon schluss. gut moeglich das die vcl das anders macht, das sie die werte so umrechnet, das sie mit windows wieder passen. oder vll. zeichnet sich die vcl auch eine eigene trackbar und benutzt die von windows nicht. kann ich nicht sagen. versuch mal deine trackbar so umzubauen, das sie von mir aus von 0 bis 100 geht. beim setzen und beim auslesen musst du dann den wert so umrechnen, das er wieder passt. wenn deine trackbar beispielsweise von -50 bis 50 geht, setzt du das ding von 0 bis 100. liest du dann den wert 75 aus, musst du den wert einfach -50 rechnen und du hast den wert, der wieder zu deinem programm passt. //edit wie gesagt, theoretisch kannst du von 0 bis 65535 gehen :o) |
Re: problem mit den messages der trackbar
Zitat:
ich setze die pos übrigens per ![]() ![]() hast du vllt ne idee, wie man das per seperate abfrage lösen könnte?? also die position einfach irgendwie errechnen und in dem fall halt den slider auf 0 setzen?? ich habs mal so probiert, aber da ist noch irgendwie der wurm drinn:
Delphi-Quellcode:
if ((Integer(wParam) < 100) and (Integer(wParam) > -1)) or ((Integer(wParam) > -100) and (Integer(wParam) < 1)) then
SendMessage(hwndTrackBar2, TBM_SETPOS, Integer(TRUE), 0); |
Re: problem mit den messages der trackbar
TBS_SETRANGEMIN und TBS_SETRANGEMAX kannte ich bisher auch noch nicht, danke :)
du weißt schon, das wParam im wndproc callback vom LongInt typ ist? d.h. du castest einen integer zu einem integer :> ungetestet:
Delphi-Quellcode:
//edit
if (pos < 100) or (pos > -100) then
SendMessage(hwndTrackBar2, TBM_SETPOS, Integer(TRUE), 0); TBS_SETRANGEMIN und TBS_SETRANGEMAX kennt mein altes sdk auch nicht :D |
Re: problem mit den messages der trackbar
nee das geht ja nicht, weil dann der slider überhaupt nicht mehr bewegt werden kann, das ist auch uncool ;-)
mhh ich muss mir da irgendwas aus denken, weil das gefällt mir so alles noch nicht, ich brauch das ja auch, hehe |
Re: problem mit den messages der trackbar
ich muss nochmal nachhacken.. ich habs immer noch nicht ordentlich hinnbekommen, das er den slider der trackbar wieder genau in der mitte positioniert, bzw, das man ihn wenigstens genau in der mitte positionieren kann!
es muss doch eine möglichkeit geben?? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz