Entwickler-Ecke

Sonstiges (Delphi) - Habn problem beim verschieben von forms


HaTe - So 01.02.04 23:27
Titel: Habn problem beim verschieben von forms
also: mein prog besteht aus zur laufzeit erstellten forms ohne titlebars, die ich aber trotzdem gerne verschiebbar haben möchte. in den tips auf Swissdelphicenter hab ich folgendes gefunden:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
procedure TForm1.WMNCHitTest(var msg: TWMNCHitTest); 
begin 
inherited
if msg.Result = htClient then 
msg.Result := htCaption; 
end;

das funktioniert auch bei form1, also hab ich mir gedacht mach ich einfach folgendes:


Delphi-Quelltext
1:
neuform.onmousedown:=WMNCHitTest();                    


wobei neuform die variable ist, mit der ich neue forms erstelle, habe allerdings leider das problem das ich nicht weis was genau in die klammern reinkommt :(. hab schon die delphi-hilfe durchsucht (wie fast immer erfolglos) und im internet hab ich auch noch keine lösung gefunden. kann mir jemand helfen?


MaxOff - Mo 02.02.04 11:20

Ich nehme du rufst irgendwo eine Message mit dem Datentyp TWMNCHitTest auf?
Wenn ja, dann ruf einfach in den OnMouseDown-Event die Message auf. Also ungefähr so:


Delphi-Quelltext
1:
2:
3:
4:
5:
Procedure neuform.OnMouseDown(Sender: TComponent...);
//Für die anderen Parameter wahr ich zu faul ;)
Begin
  Application.SendMessage(WMNCHitTest);{War das so, oder vieleicht Application.SendMsg(WMNCHitTest)?}
End;


Moderiert von user profile iconPeter Lustig: Code- durch Delphi-Tags ersetzt


MaxiTB - Mo 02.02.04 11:27

Ich mache es bei mir eigentlich immer so ...

Delphi-Quelltext
1:
NeuForm.OnMouseDown:=Form1.OnMouseDown;                    


Funktioniert auch ganz gut und ist praktisch, wenn man hunderte Events sharen will ... :wink:


HaTe - Mo 02.02.04 13:36

danke :D


HaTe - Mo 02.02.04 16:48

ich gebs auf, soll das prog doch auf meiner hd verrotten :schmoll: