Einzelnen Beitrag anzeigen

Benutzerbild von Steve
Steve

Registriert seit: 2. Mär 2004
Ort: Würzburg
730 Beiträge
 
Delphi 2006 Personal
 
#1

Fenster bei Mausklick nicht aktivieren,ab. OnClick ausführen

  Alt 10. Jun 2005, 13:15
Hi,

wie kann ich es realisieren, dass mein Programm , wenn ein anderes Programm den Focus hat, bei einem Klick auf einen Button nicht aktiviert wird, der Focus beim anderen Programm bleibt und dennoch die OnClick-Behandlungsroutine des Buttons ausgeführt wird?

Folgendes habe ich bereits versucht:
Delphi-Quellcode:
TForm1 = Class(...)
...
    procedure WMMouseActivate(var Message : TWMMouseActivate); message WM_MOUSEACTIVATE;
...

procedure TForm1.WMMouseActivate(var Message: TWMMouseActivate);
begin
  // Sicherstellen, dass eigenes Programm nicht aktiv ist
  if (not Application.Active) or (not Active) then
  begin
    //MA_NOACTIVATE = Nicht aktivieren, aber Klick ausführen.
    message.Result := MA_NOACTIVATE;
  end;
end;
Dabei geschieht aber nicht ganz das was ich will, sondern folgendes:
Klick auf Fenster-Fläche: Fremde Anwendung verliert Focus, eigene Anwendung wird nicht aktiviert (immerhin)
Klick z.B. auf Button: Fremde Anwendung verliert Focus, eigene Anwendung wird aktiviert, OnClick wird ausgeführt

Wo liegt mein Fehler?

Danke schonmal,
Gruß
Stephan
[edit]Tippfehler[/edit]
Stephan B.
Wer andern eine Grube gräbt ist Bauarbeiter!
Wer im Glashaus sitzt, sollte sich lieber im Dunkeln ausziehen!
Außerdem dieser Satz kein Verb...
  Mit Zitat antworten Zitat