Strg+S zuweisen



  • Hi zusammen,

    wie kann ich die Voreinstellung des "Strg+S" handles in VC++ in einer SDI ändern?

    1.) Ich habe z.B. eine Open-Routine, inkl. FileDialog, die bei Klick auf Speichern aufgerufen wird. (mit einer speziellen Endung)

    2.) Wenn ich Strg+S aufrufe, dann wird ein anderer FileDialog (mit Endung .) aufgerufen!

    - Ich hab jetzt auch kein spezielles Handle für Strg+S eingebaut, da ich garnicht weiss, wie man das machen kann, vielleicht case VK_STRG_S ???
    Wie geht das denn?
    Muss ich das dann nur in meiner OnKeyDown einsetzen, damit das Fall 2.) zu Fall 1.) macht?

    Danke!
    Gruss, Tobias



  • So würde ich es in einer Dialogfeldanwendung machen: (funzt auch bei SDI, weis aber nicht ob es da auch bessere Möglichkeiten gibt.)

    //In die PreTranslateMessage
    if (pMsg->message == WM_KEYDOWN && pMsg->wParam == 83)
    {
        if (GetAsyncKeyState(17) != 0)
        {
            //Code für Fall 2
            return TRUE;
        }
    }
    


  • scheint bei mir nicht zu funktionieren...

    reicht es nicht folgendes neu einzufügen:

    void CMainFrame::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
    {
    if (GetAsyncKeyState(17)!= 0 && nChar==VK_s ) {
    MessageBox("a","a",MB_OK);
    }
    char a[99];
    sprintf(a,"%i",(int)nChar);
    MessageBox(a,a,MB_OK);
    }

    Passiert bei mir nix... ist doch auch bestimmt falsch, oder?



  • Geh in die Resourcen-Ansicht für dein Projekt. Dort kuckst du unter Accelerator. Dort kannst du die Tastenkombination dann entfernen.



  • In der String-Table in den Resourcen kannst Du auch das . ändern.


Anmelden zum Antworten