Ich entwickle eine Anwendung für ein POCKET PC 2003 (Windows CE 4.2) Gerät mit C++ und native WINAPI (d. H. Kein MFC oder dergleichen). Darin habe ich ein einzeiliges Edit Control welches Teil des Hauptfensters (nicht ein Dialog); daher ist das normale Verhalten von Windows beim Drücken von ENTER nichts anderes als ein Signalton.Wie wird der Piepton ausgeschaltet, wenn ENTER bei einer einzeiligen EDIT-Steuerung unter Windows CE gedrückt wird?
Ich habe die Fensterprozedur für das Bearbeitungssteuer subclassed das Standardverhalten mit dem folgenden Code zu überschreiben:
LRESULT CALLBACK Gui::ItemIdInputProc(HWND hwnd, UINT message, WPARAM wParam,
LPARAM lParam) {
switch (message) {
case WM_KEYDOWN :
switch (wParam) {
case VK_RETURN :
addNewItem();
return 0;
}
}
return CallWindowProc(oldItemIdInputProc_, hwnd, message, wParam, lParam);
}
Dies bewirkt, dass das entsprechende Verhalten wie das Drücken der Taste ‚OK‘.
Nun zum Problem: Diese Fensterprozedur überschreibt nicht das Standardverhalten eines Pieptons. Ich vermute, dass es andere Nachrichten oder Nachrichten geben muss, die ausgelöst werden, wenn ENTER gedrückt wird, die ich nicht erfassen kann; Ich kann einfach nicht herausfinden, was. Ich möchte wirklich verhindern, dass das Gerät piepst, da es andere Sounds durcheinander bringt, die unter bestimmten Umständen abgespielt werden, wenn eine Objektkollision auftritt, und es ist wichtig, dass der Benutzer darüber informiert wird.
Vielen Dank im Voraus.
Ich weiß nicht, ob dies für Windows CE als auch wahr ist, aber mit dem Desktop von Windows Sie Tastaturnavigation in einem Standardfenster erhalten durch den Aufruf [IsDialogMessage ] (https://msdn.microsoft.com/en-us/library/windows/desktop/ms645498.aspx) als Teil des Nachrichtenversands. Dies betrifft unter anderem auch die [Enter] -Taste und ruft die Standardschaltfläche auf (falls vorhanden). – IInspectable