SpinButton: Das Edit reagiert nicht auf Klicks
-
Hallo!
Ich habe ein Edit und einen Spinbutton. Der Spinbutton liegt schon "im" Edit und das Edit hat eine UINT Variable zugeordnet.
Leider reagiert die Zahl im Edit nicht, wenn ich auf den Spinbutton klicke.Das geht doch eigentlich automatisch, was mache ich falsch?
-
Du setzt ein Edit in Dein Dialog und platzierst rechts daneben den Spinbutton.
Dann setzt Du unter Eigenschaften des Spinbuttons:
Autom. Buddy
Buddy-Ganzzahl setzenunter VC++ 6 erhöht er die Zahl, wenn man nach unten drückt.
Um das zu ändern fängst Du in Deinem Dialog die Nachricht UDN_DELTAPOS ab und änderst ne Kleinigkeit:void CMyDlg::OnDeltaposSpin(NMHDR* pNMHDR, LRESULT* pResult) { NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pNMHDR; // iDelta ist -1 wenn man nach oben drückt und // +1 wenn man nach unten drückt, also Multiplizieren wir es mit -1 pNMUpDown->iDelta *= -1; *pResult = 0; }
Voila!
-
Du setzt ein Edit in Dein Dialog und platzierst rechts daneben den Spinbutton.
Dann setzt Du unter Eigenschaften des Spinbuttons:
Autom. Buddy
Buddy-Ganzzahl setzenunter VC++ 6 erhöht er die Zahl, wenn man nach unten drückt.
Um das zu ändern fängst Du in Deinem Dialog die Nachricht UDN_DELTAPOS ab und änderst ne Kleinigkeit:void CMyDlg::OnDeltaposSpin(NMHDR* pNMHDR, LRESULT* pResult) { NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pNMHDR; // iDelta ist -1 wenn man nach oben drückt und // +1 wenn man nach unten drückt, also Multiplizieren wir es mit -1 pNMUpDown->iDelta *= -1; *pResult = 0; }
Voila!
-
Du setzt ein Edit in Dein Dialog und platzierst rechts daneben den Spinbutton.
Dann setzt Du unter Eigenschaften des Spinbuttons:
Autom. Buddy
Buddy-Ganzzahl setzenunter VC++ 6 erhöht er die Zahl, wenn man nach unten drückt.
Um das zu ändern fängst Du in Deinem Dialog die Nachricht UDN_DELTAPOS ab und änderst ne Kleinigkeit:void CMyDlg::OnDeltaposSpin(NMHDR* pNMHDR, LRESULT* pResult) { NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pNMHDR; // iDelta ist -1 wenn man nach oben drückt und // +1 wenn man nach unten drückt, also Multiplizieren wir es mit -1 pNMUpDown->iDelta *= -1; *pResult = 0; }
Voila!
-
Du setzt ein Edit in Dein Dialog und platzierst rechts daneben den Spinbutton.
Dann setzt Du unter Eigenschaften des Spinbuttons:
Autom. Buddy
Buddy-Ganzzahl setzenunter VC++ 6 erhöht er die Zahl, wenn man nach unten drückt.
Um das zu ändern fängst Du in Deinem Dialog die Nachricht UDN_DELTAPOS ab und änderst ne Kleinigkeit:void CMyDlg::OnDeltaposSpin(NMHDR* pNMHDR, LRESULT* pResult) { NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pNMHDR; // iDelta ist -1 wenn man nach oben drückt und // +1 wenn man nach unten drückt, also Multiplizieren wir es mit -1 pNMUpDown->iDelta *= -1; *pResult = 0; }
Voila!
-
Du setzt ein Edit in Dein Dialog und platzierst rechts daneben den Spinbutton.
Dann setzt Du unter Eigenschaften des Spinbuttons:
Autom. Buddy
Buddy-Ganzzahl setzenunter VC++ 6 erhöht er die Zahl, wenn man nach unten drückt.
Um das zu ändern fängst Du in Deinem Dialog die Nachricht UDN_DELTAPOS ab und änderst ne Kleinigkeit:void CMyDlg::OnDeltaposSpin(NMHDR* pNMHDR, LRESULT* pResult) { NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pNMHDR; // iDelta ist -1 wenn man nach oben drückt und // +1 wenn man nach unten drückt, also Multiplizieren wir es mit -1 pNMUpDown->iDelta *= -1; *pResult = 0; }
Voila!
-
Du setzt ein Edit in Dein Dialog und platzierst rechts daneben den Spinbutton.
Dann setzt Du unter Eigenschaften des Spinbuttons:
Autom. Buddy
Buddy-Ganzzahl setzenunter VC++ 6 erhöht er die Zahl, wenn man nach unten drückt.
Um das zu ändern fängst Du in Deinem Dialog die Nachricht UDN_DELTAPOS ab und änderst ne Kleinigkeit:void CMyDlg::OnDeltaposSpin(NMHDR* pNMHDR, LRESULT* pResult) { NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pNMHDR; // iDelta ist -1 wenn man nach oben drückt und // +1 wenn man nach unten drückt, also Multiplizieren wir es mit -1 pNMUpDown->iDelta *= -1; *pResult = 0; }
Voila!
-
Shice, hier gabs ein Problem...
Kann ein Mod mal bitte die Mehrfachposts löschen?
thx
-
Shice, hier gabs ein Problem...
Kann ein Mod mal bitte die Mehrfachposts löschen?
thx
-
Danke! Ich hatte das mit der Ganzzahl vergessen.
Damit das draufklicken richtig herum funktioniert reicht übrigends auch
m_spnMin.SetRange(0, 10000);
Wobei ich nicht verstehe, warum bei
m_spnMin.SetRange(0, UINT_MAX);
nur 0 und -1 gehen.