Autor Beitrag
Chrischn
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Do 31.10.02 22:26 
Hallo Delphi Freaks,

ich möchte das mein Programmfenster sofort aktiviert wird, wenn ich mit der Maus "drüberfahre". ( Ohne das ich klicken muss ). Wie kann ich das realisieren ?

Thx im vorraus :-)
LCS
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1305
Erhaltene Danke: 1

WIN 7, WIN 8
Delphi XE5, Delphi XE, Delphi 2007
BeitragVerfasst: Fr 01.11.02 09:04 
Hi
IMHO musst du das bereits auf BS Ebene machen, da dein Fenster im inaktiven Zustand beim drüberfahren mit der Maus keine Ereignisse empfängt.
Mit TWeakUI kannst du das z. B. Einstellen.

Gruss Lothar

_________________
Der BH ist für die Brust, der Plan ist für'n Ar...
Sven
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 314


D6 Ent, K3 Pro (patched)
BeitragVerfasst: Fr 01.11.02 09:44 
Füge in der Klassendefinition deines Fensters folgendes ein
ausblenden Quelltext
1:
procedure WMNCHitTest(var msg: TWMNCHitTest); message WM_NCHITTEST;					


Innerhalb der Implementation dieses dann:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure TForm1.WMNCHitTest(var msg: TWMNCHitTest);
begin
  inherited;
  ...
  Dein Code zur Aktivierung
  ...
end; {WMNCHitTest}


Es könnte allerdings sein, daß dies nur bei der Titelleiste Deines Fensters funktioniert. Probiers halt aus.

_________________
MDK 9.1, Kernel 2.4.21, KDE 3.1 Kylix 3 Pro (patched), nutze aber auch Windows
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 01.11.02 14:37 
Wie soll das gehen? Dein Code im Programm wird doch nur ausgeführt, wenn das Programm aktiv ist.

Man müßte mittels eine Hooks die Mausposition verfolgen und ständig prüfen, ob sie sich über ein fenster mit eienm bestimmten Handle befindet. Tut sie das, das Fenster aktivieren.

Kann aber sein, da man es ja angeblich bei TweakUI einstellen kann, das es auch einfacher geht, in dem man in der Registry einen Schalter umlegt.