Einzelnen Beitrag anzeigen

TStringlist

Registriert seit: 1. Dez 2003
360 Beiträge
 
Turbo Delphi für Win32
 
#12

Re: Beepen bei OnKeyDown global unterdrücken

  Alt 16. Feb 2006, 05:14
Moin,

mit einem TApplicationEvents-Objekt und dessen OnMessage-Property sollte das möglich sein. Hinter einer solchen Property steht nämlich so etwas wie ein lokaler Hook, dh.: Du kannst in dem entsprechenden OnMessage-Eventhandler dann so ziemlich alle Messages abfangen, die vom System an die Controls deiner Application abgeschickt wurden. Also auch alle WM_Char-Messages an alle TEdits deiner Anwendung:

Delphi-Quellcode:
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
  var Handled: Boolean);
var ATWinControl : TWinControl;
begin
  if Msg.message = WM_Char then
    if Msg.wParam = vk_Return then begin
      ATWinControl := FindControl(Msg.hwnd);
      if (ATWinControl <> Nil)
      and (ATWinControl is TEdit) then Handled := true;
    end;
end;
MfG (& Thx ggf.)
  Mit Zitat antworten Zitat