Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Regler (csliderctrl)

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
29.04.2003, 21:14 Uhr
Dirk22



Hallo,
ich habe einen Regler in mein Dialogfeld gesetzt. Die Unter- und die Obergrenze und die Anfangsposition habe ich schon festgelegt und es funktioniert auch. Nun möchte ich noch, wenn der Benutzer den Regler bewegt, dass der gerade aktuelle Wert in z.B. ein Editfeld eingetragen wird.
Welche Nachricht muss ich dazu verwenden?
Die Membervariable des Reglers habe ich m_regler(CSliderCtrl), die Membervariable des Editfeldes habe ich m_wert(CString) genannt.
Mit m_regler.GetPos() bekomme ich die aktuelle Position zurück. Aber diese ist ein Integer. Wie kann ich nun diesen Integer in meinem Editfeld richtig anzeigen lassen?

Vielen Dank im Voraus für eure Hilfe

Dirk
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
30.04.2003, 17:40 Uhr
Dirk22



Ich formuliere meine Frage mal anders:
Eigentlich hat mein Hauptproblem nichts direkt mit dem Regler zu tun.
Ich habe einfach eine int-Variable. Deren Inhalt möchte ich in einem Editfeld ausgeben. Aber dazu muss ich irgendwie diese int-Variable in eine CString-Variable umwandeln, damit ich den Wert im Editfeld ausgeben kann.

Vielen Dank im Voraus

Dirk
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
30.04.2003, 18:49 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)



C++:
int intwert;
CString str;
str.Format("%d",intwert);
GetDlgItem(IDC_EDIT....)->SetWindowText(str);


--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 30.04.2003 um 18:49 Uhr von Heiko editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
30.04.2003, 20:56 Uhr
Dirk22



Vielen Dank, es funktioniert jetzt alles. Die entscheidende Zeile für mich war


C++:
str.Format("%d",intwert);
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
30.04.2003, 21:15 Uhr
Dirk22



Noch eine Frage zur Nachricht:
Wenn ich NM_RELEASEDCAPTURE verwende, passiert nur etwas wenn die Maus wieder losgelassen wird. Gibt es vielleicht auch eine Nachricht, die jedes Mal ausgeführt wird, wenn die Position des Reglers verändert wird. Ich möchte, dass bei jeder Veränderung der Position des Reglers, der aktuelle Wert im Editfeld steht und nicht erst dann, wenn man die Maus loslässt.


Vielen Dank im Voraus

Dirk
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
01.05.2003, 11:40 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


Nach dieser Nachricht habe ich auch schon mal gesucht und nichts gefunden und deswegen den Regler als Steuerelement wieder verworfen.

Wenn dir kein anderer antwortet, kannst du ja versuchen das mit Hilfe von WM_MOUSEMOVE zu implementieren was allerdings super ätzend kompliziert wäre.
Andere Idee habe ich auch nicht.
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
01.05.2003, 12:34 Uhr
~nukleuz
Gast



Zitat:
Heiko postete
Nach dieser Nachricht habe ich auch schon mal gesucht und nichts gefunden und deswegen den Regler als Steuerelement wieder verworfen.

Wenn dir kein anderer antwortet, kannst du ja versuchen das mit Hilfe von WM_MOUSEMOVE zu implementieren was allerdings super ätzend kompliziert wäre.
Andere Idee habe ich auch nicht.


hi dirk22,

gedulde dich noch bis montag, dann sende ich dir den code den du benötigst, um die werte deiner maus ständig anzeigen zu lassen auch wenn die maus noch gedrückt ist;;;!

liegt leider auf server in schule!!1

nukleuz
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
01.05.2003, 16:59 Uhr
Tommix



Hallo,

Zitat:

Ich möchte, dass bei jeder Veränderung der Position des Reglers, ...


Dafür mußt Du eine Behandlungsroutine für WM_HSCROLL zu Deinem Dialogfeld hinzufügen - wohlgemerkt zu dem Dialog und nicht, wie man evtl. denken könnte zu dem Slider selbst!
Gruss, Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
01.05.2003, 17:08 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


Ach so das geht auch mit dem WM_HSCROLL

Dann noch ne Anmerkung von mir. Du musst da höllisch aufpassen.
Da es mehrer Steuerelemente gibt die darauf ansprechen musst du immer erst abfragen welches angesprochen wurde sonst kriegst du ein problem und wundest dich woher die fehler kommen.

Angesprochen werden unter anderem auch Spinboxes Scrollbars

Wenn du den Krempel vertikal ausrichtest musst du halt WM_VSCROLL benutzen.
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
03.05.2003, 12:50 Uhr
Dirk22



Hi,

vielen Dank für eure Antworten. Mit WM_HSCROLL funktioniert es jetzt.
Ich habe folgenden Code in der Funktion OnHScroll verwendet:


C++:
if (IDC_SLIDER1)
        {
            //hier steht der Code um den Wert des Reglers im Editfeld anzuzeigen
        }



Ich glaube, dass ich auf diese Weise ganz sicher gehen kann, dass nur mein gewünschter Regler angesprochen wird uns sonst nichts. Stimmt das so?

An ~Nukleuz:
Auch wenn es mit WM_HSCROLL schon funktioniert, bin ich dennoch gespannt, wie du das Problem gelöst hast.

Und noch eine kleine Frage zum Regler:
Mich stört noch, dass wenn ich mit der Maus an eine bestimmte Stelle am Regler klicke, der Balken des Reglers nicht direkt dort hinspringt, sondern nur einen Sprung in diese Richtung macht. Wie heisst die Funktion, wo ich das einstellen kann?
Ich möchte also, dass der Balken des Reglers sofort dorthin springt, wo ich am Regler hingeklickt habe.

Vielen Dank im Voraus

Dirk
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: