tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
3
ZUGRIFFE
606
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von sand13r
    sand13r sand13r ist offline Mitglied Gold
    Registriert seit
    Oct 2006
    Beiträge
    101
    Hallo liebe Freunde der Sonne,

    ich hab mal wieder ein kleines Problemchen und zwar darf mein Programm keine ENTER und ESC Tasten eingaben bearbeiten weil sonst der Dialog geschlossen wird.

    Wies jemand wie ich das am besten mache ?

    Also ich komm ja dann in OnOk() bzw IDCancel rein und würd da dann nachschauen ob die letzte taste ein Enter oder ein ESC war und je nachdem dann abbrechen würde das gehen ?

    oder kann man für Programme gewisse Tasten einfach sperren das wäre super


    bin für alle Vorschläge und Tipps dankbar gruss sand13r
     
    #include<MCoder.h>
    #include<iostream>
    #include<conio.h>

    int main()
    {
    MCoder *pmcoder;

    cout<<"Please ask your Question!!"<<endl;
    cin>>pmcoder->QuestionString;

    cout<<"Answer is:" <<pmcoder->GetAnswer(pmcoder->QuestionString)<<endl;

    getch();
    return 0;
    }

  2. #2
    MCoder MCoder ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jul 2005
    Ort
    München
    Beiträge
    2.448
    Wenn du bestimmte Zeichen komplett "abhängen" willst, kannst du dass in PreTranslateMessage() machen.
    Hier ein Beispiel für ESC und RETURN:
    Code cpp:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    BOOL CMyDialog::PreTranslateMessage(MSG* pMsg) 
    {
        if( pMsg->message == WM_KEYDOWN )
        {
            if( pMsg->wParam == VK_ESCAPE || pMsg->wParam == VK_RETURN )
            {
                return TRUE;
            }
        }
        
        return CDialog::PreTranslateMessage(pMsg);
    }
    Gruß
    MCoder
     
    "The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
    --- Larry Wall

  3. #3
    Avatar von sand13r
    sand13r sand13r ist offline Mitglied Gold
    Registriert seit
    Oct 2006
    Beiträge
    101
    Asche auf mein hauot habs dann doch dank eines Threads heir im Forum einen Hinweis auf die Funktion PreTranslateMessage gefunden und google hat mir dann die perfekte Lösung geboten



    Hier für alle klick faulen
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
        BOOL DialogName::PreTranslateMessage(MSG* pMsg)
         {
              // TODO: Add your specialized code here and/or call the base class
              if(pMsg->message==WM_KEYDOWN)
              {
                  if(pMsg->wParam==VK_RETURN || pMsg->wParam==VK_ESCAPE)
                      pMsg->wParam=NULL ;
              }
     
              return 0; //CDialog::PreTranslateMessage(pMsg);
           }


    greetz sand13r

    EDIT: ah MCoder war schneller wieder einmal ein riesen dankeschön
    Geändert von sand13r (10.09.08 um 11:37 Uhr)
     
    #include<MCoder.h>
    #include<iostream>
    #include<conio.h>

    int main()
    {
    MCoder *pmcoder;

    cout<<"Please ask your Question!!"<<endl;
    cin>>pmcoder->QuestionString;

    cout<<"Answer is:" <<pmcoder->GetAnswer(pmcoder->QuestionString)<<endl;

    getch();
    return 0;
    }

  4. #4
    Avatar von sand13r
    sand13r sand13r ist offline Mitglied Gold
    Registriert seit
    Oct 2006
    Beiträge
    101
    Zitat Zitat von MCoder Beitrag anzeigen
    Wenn du bestimmte Zeichen komplett "abhängen" willst, kannst du dass in PreTranslateMessage() machen.
    Hier ein Beispiel für ESC und RETURN:
    Code cpp:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    BOOL CMyDialog::PreTranslateMessage(MSG* pMsg) 
    {
        if( pMsg->message == WM_KEYDOWN )
        {
            if( pMsg->wParam == VK_ESCAPE || pMsg->wParam == VK_RETURN )
            {
                return TRUE;
            }
        }
        
        return CDialog::PreTranslateMessage(pMsg);
    }
    Gruß
    MCoder


    du bist einfach der beste dankeschön


    eDIT: Ah sorry for doppelpost..
    Geändert von sand13r (10.09.08 um 11:36 Uhr)
     
    #include<MCoder.h>
    #include<iostream>
    #include<conio.h>

    int main()
    {
    MCoder *pmcoder;

    cout<<"Please ask your Question!!"<<endl;
    cin>>pmcoder->QuestionString;

    cout<<"Answer is:" <<pmcoder->GetAnswer(pmcoder->QuestionString)<<endl;

    getch();
    return 0;
    }

Ähnliche Themen

  1. Taste ermitteln
    Von ceene im Forum Javascript & Ajax
    Antworten: 9
    Letzter Beitrag: 08.01.10, 11:26
  2. Letzte URL ermitteln
    Von Pageman2 im Forum .NET Web und Kommunikation
    Antworten: 2
    Letzter Beitrag: 18.10.06, 02:50
  3. gedrückte Taste anzeigen
    Von gl4di4t0r im Forum .NET Archiv
    Antworten: 7
    Letzter Beitrag: 30.12.04, 10:16
  4. letzte Dateiaktualisierung ermitteln
    Von brunnerbrunner im Forum PHP
    Antworten: 2
    Letzter Beitrag: 28.09.04, 08:09
  5. gedrückte Taste erkennen
    Von michaelwengert im Forum VisualStudio & MFC
    Antworten: 16
    Letzter Beitrag: 23.06.04, 16:47