Hallo!
Bei meinem Programm werte ich über das Event 'OnKeyDown' diverse Tasten aus. So prüfe ich z.B. ob der Anwender in einem Edit-Feld die Return-Taste gedückt hat, mittels
If Key = vk_Return then SetFilter(edt_Filter.Text);
SetFilter setzt einen Filter entsprechend der Eingabe im Edit-Feld und schliesst dann das Fenster. Alles funktioniert soweit ganz gut und fehlerfrei. Nur einen kleinen Schönheitsfehler hat das ganze: Sobald das Fenster verschwunden ist, ertönt ein Warnton (Der gleich Ton, als ob man versucht, trotz modal angezeigtem Dialogfenster, die Hauptanwendung zu aktivieren).
Wieso wird dieser Ton erzeugt? Das angezeigte Fenster ist kein modales Fenster. Ganz im Gegenteil wird es eh entfernt, wenn der Anwender es deaktiviert.
Den gleichen Effekt mit dem "Warnton" habe ich auch bei meiner ShellListe. Hier werte ich auch per OnKeyDown Tasten aus:
Delphi-Quellcode:
// STRG + SHIFT -> Aktuell fokussierten Eintrag auswählen
If (Key = VK_SPACE) and (Shift = [ssCtrl]) then
Begin
Node := ShellList.FocusedNode;
if Assigned(Node)
then ShellList.Selected[Node] := Not ShellList.Selected[Node];
End;
Jeder ausgewählte Eintrag wird mit einem nervigen 'Ploing' akustisch bestätigt.
Hat jemand eine Idee, woran das liegen könnte?
Danke!
Viele Grüße
Gerald