edit control wertebereich



  • jetzt muss ich auch mal was wissen

    ich hab ein editcontrol feld

    number = true

    wie lege ich den wertebereich fest???

    z.b. 1 - 5000

    hmmmm

    ratlos



  • Hi,

    Du fügst im "DoDataExchange(...)

    nach der Zeile

    DDX_Text(pDX, IDC_EDIT1, m_wert);
    

    die Zeile

    DDV_MinMaxInt(pDX, m_wert, 1, 5000);
    

    ein.

    MfG



  • hmmm

    net so ganz gut

    weil ich hab z.b. 1 - 50

    jetzt gebe ich 51 ein. und drucke auf meinen ADD button

    jetzt kommt die meldung

    ( only integer between 1 and 50 )

    naja dann uebertreagt der dann doch die 51 lol

    jetzt druecke ich auf meinen exit button

    kann das prog jetzt nicht schliessen bis ich eine zahl 1 - 50 eingegeben habe!! lol

    naja ich kann zwar immer bei ADD button fkt ueberpruefen und darauf hinweisen

    dachte eigentlich dass mfc das automatisch machen kann

    z.b. ich gebe 51 ein und er macht einen default wert

    und was ist der max wert also "unbegrenzt"???



  • Also:

    Wenn Du während deines Dialoges die Werte übernimmst,
    mußt Du sie selber prüfen indem Du beispielsweise
    eine OnKillFocus-Funktion hinzufügst und dort die
    Werte setzt:

    void CBlaBla::OnKillFocusWert()
    {
      UpdateData(TRUE);
    
      if (m_wert>50)
          m_wert=50;
    
      if (m_wert<0)
          m_wert=0;
    
      UpdateData(FALSE);
    
    }
    

    MfG



  • habs jetzt doch anders gemacht und bei ADD button folgendes gemacht

    Ich brauch nur eine zahl 1 oder greosser

    if( m_iAdd_times < 1 )
    {
    
        m_iAdd_times = 1;
        SetDlgItemText( IDC_EDIT_Add_Times , "1" ) ;
    
    }
    

    ich glaub damit kann ich leben

    aber trozdem vielen dank fuer deine hilfreichen tips immer

    achja und bei ner listbox

    wie kann ich erreichen das er durch einen doppelcklick den string uebertragt??

    also ich clicke doppelt und er nimmt den string und uebertreagt ihn in meine andere liste.

    merci



  • Hi,

    wieder Behandlungsroutine hinzufügen:
    Doppelklick!

    und dann z. B.

    CString m_text;
    int a=m_list1.GetCurSel();
    m_list1.GetText(a, m_text);
    m_list2.AddString(m_text);
    

    Sicherheitsabfragen nicht vergessen!

    MfG



  • meinst du ich muss doppel cklicken auf meine listbox und dann heisst es ja

    BnclickedMeineListbox

    und ich muss umanendern in BnDoubleClick

    und dann den code rein

    oder in der DoDataExchange

    unter meine zeile

    DDX_Control(pDX, IDC_LIST_all_tests, m_all_tests);

    und dann da noch etwas editieren???? wie biem wertebereich auch schon



  • ...

    Behandlungsroutine LBN_DBLCLK hinzufügen.

    VC++ 6.0 über den Klassenassistenten
    VS 2003.NET über Dialog (rechte Moustaste) Ereignishandler ...

    MfG



  • du bist der dude

    hey danke hat super geklappt

    endlich weiss ich wie ich die events einfuege

    habs per hand versucht
    hat net geklappt

    mit dem event handler ist das schon eine feine sache

    merci 👍


Anmelden zum Antworten