Edit-Control mit spin control
-
Hi.
habe micht entschieden einen Edit-Control zu benutzen, wo man selber was reinschreiben kann, wobei nur zahlen zwischen 2-200 eingetragen werden können.
ausserdem soll man die zahlen mit einer spin-control um 1hochzählen bzw.um 1 runterzählen. wie kann ich sozusagen mit hilfe der spin-control zugriff auf mein edit-control nehmen?
-
Mit einem Scrollbar dürfte das etwas schwierig werden. Aber du kannst hinter das Editfeld ein "Drehfeld" anbringen und dessen UDN_DELTAPOS-Nachricht abfangen, um den Inhalt des Editfeldes zu korrigieren.
-
Man kann direkt per UDS_AUTOBUDDY das vorhergehende Edit Control zuordnen lassen. Und mit UDS_SETBUDDYINT wird auch der Wert gesetzt.
Den Rest macht das CSpinButtonCtrl Control für Dich.Du musst nur noch den Range angeben!
-
könntest du mir bitte das als code irgendwie visuel darstellen.
mein controlls sind: Edit control(IDC_DATAEDIT) und Spin Control(IDC_DATASPIN). ich dachte man kann direkt irgendwie über den meldungshändler in spin-Control auswählen, z.b welche eintrag man verändern möchte.
-
also ich habe gerade ein gutes tutorial gefunden, wo alles genau erklärt wird. damit hat sich meinesache erledigt.danke für die hilfe!!!! :p
jedoch eine frage hätte ich: wenn ich von alleine eingeben will und dann return/enter drücke, geht mein tab verloren. wie kann ich sozusagen das "updaten"??
ausserdem: wie kann ich sozusagen drauf reagieren, wenn ich mir durch den spin-control den wert verändern lasse, so dass ich eine Messagebox ausgebe? kann ich dies nur über "update" und "change" machen oder wie?
-
Habe trotzdem noch eine frage:
ich habe es nun verstanden wie das mit einem int-wert gehen würde.
kann ich mir eigentlich auch irgendwie zurechtmachen, dass er mir sozusagen die werte als "double" nimmt? jedoch genauso wie bei int. habe den SetPos(1.00) und dies soll dann 1.01,1.02 oder halt andersrum laufen.geht das?
-
Nein! In diesem Fall musst Du selbst Hand anlegen. WM_VSCROL Nachricht wird an das Parent gesendet und Du musst den Wert selbst laden, inkrementieren und neu setzen.
-
also heißt das, ich muss einfach die nachricht von dem tab WM_VSCROLL setzen und dann mir den wert setzen? das parent ist in diesem fall mein tab oder wie?