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...