Einzelnen Beitrag anzeigen

prov171

Registriert seit: 1. Jul 2004
4 Beiträge
 
Delphi 7 Professional
 
#5

Re: Komponente darf keinen Focus erhalten

  Alt 26. Apr 2005, 17:51
Delphi-Quellcode:
procedure TfrmMain.Set_Global_Hotkeys(var Message: TMessage);
var notify:string;
begin
   notify:='';
   if Message.Msg=WM_Hotkey Then begin
     SetTimer(Self.Handle,Message.WParam,Hotkeys[Message.WParam-$BFF0].Interval*1000,nil);
     SendMessage(GetActiveWindow,WM_KEYDOWN,Hotkeys[Message.WParam-$BFF0].Modify,Hotkeys[Message.WParam-$BFF0].Key);
     SendMessage(GetActiveWindow,WM_KEYUP,Hotkeys[Message.WParam-$BFF0].Modify,Hotkeys[Message.WParam-$BFF0].Key);
     notify:='';
   end
   else if Message.Msg=WM_TIMER Then Begin
    if HotKeys[Message.WParam-$BFF0].Notify<>'Then
     begin
      notify:='';
      notify:=HotKeys[Message.WParam-$BFF0].Notify;
      end;
    KillTimer(Self.Handle,Message.WParam);
   end
   else WndProc(Message);

   if sametext(notify,'left') then
      viewer1.Previous.Execute;
   if sametext(notify,'right') then
      viewer1.Next.execute;
   notify:='';
end;
Ich habe die HotKeys wie gesagt systemweit erzeugt, damit der Viewer nicht auch die Position es Bildes verändert.
und daher habe ich keinen sender. und die methode nächste Seite ist in dem Frame deklariert und wird über eine
ActionList angesteuert, die auch in dem Frame deklariert ist.
aus diesen gründen bekomme ich auch keinen sender, da ich ja nicht das keydown ereignis benutze.

deine lösung wäre super, genau das, was ich wollte. es soll einfach das edit feld focusiert bleiben.
  Mit Zitat antworten Zitat