Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Eine Form unter dem Mauszeiger öffnen


Arne Danikowski - Di 02.09.08 16:19
Titel: Eine Form unter dem Mauszeiger öffnen
Weiss einer wie ich ein Fenster über ein bestimmtes Objekt z.B. TEdit etc öffnen kann oder sogar unter der Position des Mauszeigers?
mfg


fanspiraphi - Di 02.09.08 16:36

du willst ein Formular anzeigen, unter der position des Mauszeigers?

Form1[unit1], Form2[unit2]

Form1:Onmousemove, OpenForm2

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
uses unit2;

...

var aX,aY:integer;

implementation

{$R *.dfm}

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  aX:=x;
  ay:=y;
end;

procedure Tform1.Openform2;
begin
  form2.left:=ax;
  form2.top:=ay;
  form2.show;
end;


Hast du das so gemeint?


Arne Danikowski - Di 02.09.08 16:49

hört sich gut an, sieht gut aus funtioniert aber leider bei mir nicht. Das Fenster öffnet sich immer noch ganz oben linke ecke muss da noch ne eigenschaft in form2 eingestellt werden?


Marc. - Di 02.09.08 16:57
Titel: Re: Eine Form unter dem Mauszeiger öffnen
user profile iconArne Danikowski hat folgendes geschrieben:
Weiss einer wie ich ein Fenster über ein bestimmtes Objekt z.B. TEdit etc öffnen kann oder sogar unter der Position des Mauszeigers?
mfg

Könntest Du vielleicht etwas genauer beschreiben, was Du vorhast? Was meinst Du mit öffnen durch ein bestimmes Objekt und was hat das mit dem Cursor zu tun? :nixweiss:

€: Über <> (Durch or Mit).
Normalerweise sollte der Ansatz von user profile iconfanspiraphi funktionieren, wobei du Dir die Variablen ax und ay sparen kannst. Allerdings bezieht sich die Position der Form bei dem obigen Beispiel nur relativ zur Position des Mauszeigers auf der Form!

Delphi-Quelltext
1:
2:
3:
4:
5:
 with Form2 do begin
   Left := Mouse.CursorPos.X;
   Top  := Mouse.CursorPos.Y;
   Show;
 end;


Arne Danikowski - Di 02.09.08 17:11

ich habe ein datenfeld. Neben dem Datenfeld ist ein Button. Mit diesem Button möchte ich eine Form öffnen, die genau unter dem Mauszeiger sich öffnet.
Und danke Marc mit deinem Hinweis klappt es Prima.