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.