CSpin Startwert 65536 und erhöhen erniedrigt zuerst bevor erhöht.bei minderung genaus

S

Sicaine

Hi,

also ich hab hier ein CSpin welcher die Position 0 als wert 65536 hat. Obwohl ich setPos(0) beim initialisieren mache.

Das 2te Problem ist, dass wenn ich den Wert erhöhen will, der Wert erst einmal nach unten geht und dann nach oben. Woran ich das sehe? Ich hab ein OnChance drauf was mir dann in nem CEdit daneben den aktuellen Wert anzeigt.
 
Das kommt mir seltsam für. Hast du da eventuell ein Mini-Test-Projekt, wo man das nachsehen kann?

Hast du eventuell auf das Edit auch ein OnChange, dass dann wieder die Spin ändert?
 
Hm ich mach ja im onchance ja nix anders als einfach dem cedit(was als string da is) den wert der aktueleln position zuzuweisen.
 
Code:
	temp.Format("%i",m_spinmin.GetPos() - 65536);
	m_editstart = temp;
	UpdateData(false);

Hier.
 
Zu GetPos habe ich das in der MSDN stehen:

The first version returns the 16-bit current position in the low-order word. The high-order word is nonzero if an error occurred.

Da bei dir der Wert 65536 ist (ein Wert, der in 16 bit NICHT reinpasst), gehe ich davon aus, dass ein Fehler aufgetreten ist.
Lass dir nach dem GetPos mal den Fehler von GetLastError ausgeben (im Error Lookup Tool nachsehen, was der Wert bedeutet).
 
Hm zu was gehört getLatError? mein spinbutton besitzt diese Methode nicht.
Ansonsten 32767 wäre ja int 16bit max. Wert hmmmmm komische Sache :/
 
GetLastError() ist keine Methode, sondern eine statische Funktion, um den Code des zuletzt aufgetretenen Fehler zu erfahren. Ruf die Funktion unmittelbar nach Auftreten des Fehlers auf. Den Fehlercode kannst du in FormatMessage() stecken, um die Fehlermeldung als Text zu bekommen. (Keine Ahnung, warum Endurion das immer von Hand machen will. ;) )
 
Re: CSpin Startwert 65536 und erhöhen erniedrigt zuerst bevor erhöht.bei minderung ge

Sicaine hat gesagt.:
Ah, ach so! Was wollen uns diese Worte sagen? Muss ich raten? :rolleyes: Nee, im Ernst: Bitte schreib in ganzen Sätzen. Ich vermute zwar, dass ich weiss, was du sagen willst, aber so finde ich das etwas unhöflich und würde mich mit dem Antworten auch zurückhalten, wenn ich erstmal lange raten muss. (Habe aber bemerkt, dass du schon länger hier mitmachst)

Nebenbei: Wenn GetLastError() Null liefert, dann gab es keinen Fehler, zumindest keinen im direkten Zusammenhang mit der API (eigentlich dem API, oder?). Das Problem liegt dann eher in deiner Programmlogik, nicht im Zugriff auf API-Funktionen.
 

Neue Beiträge

Zurück