CSpinButtonCtrl



  • Hallo,
    ich habe ein Edit-Feld, das ich als UINT definiert habe. Wenn ich in dem
    Edit-Feld,z.B. 34000 eingebe, und dann über den Spin-Button meinen Wert
    erhöhen möchte, funktioniert das nicht. In der Variable newValue steht dann
    Mist drin.
    pNMUpDown->iPos ist als int-Wert deklariert (laut Beschreibung)
    Gibt es die Möglichkeit das ganze als UINT Wert zu deklarieren.

    Gruss Klaus

    void CDlgTriggerCard::OnDeltaPosSpinLBDelay(NMHDR* pNMHDR, LRESULT* pResult)
    {
     NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pNMHDR;
     // TODO: Add your control notification handler code here
    
      UINT newValue = pNMUpDown->iPos + pNMUpDown->iDelta;
    


  • Machst du zwischendurch auch schön brav ein UpdateData(true) ? 🙂



  • Das Problem ist nicht das Anzeigen des Wertes, sondern, dass der Wertebereich nicht stimmt.
    Ich möchte ein unsigned int anzeigen und die Position die ich von pNMUpDown->iPos zurückgeliefert bekomme ist nur ein signed int.
    Wie kann ich also den Bereich von signed int auf unsigned int ändern??

    Gruss Klaus


Log in to reply