AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

In Form2 mitbekommen wenn Form1 bewegt wird

Ein Thema von burn · begonnen am 18. Dez 2009 · letzter Beitrag vom 18. Dez 2009
Antwort Antwort
burn

Registriert seit: 9. Apr 2003
80 Beiträge
 
Delphi 5 Professional
 
#1

In Form2 mitbekommen wenn Form1 bewegt wird

  Alt 18. Dez 2009, 13:57
Hallo Miteinander,

folgende Situation:

Ich habe ein Formular (Haupt-Formular) ... Darauf liegt ein Panel (alClient)
Nun rufe ich ein zweites Formular auf:

Delphi-Quellcode:
Form2 := TForm2.CreateParented(Panel1.Handle);
Form2.Show;
Damit ich Form2 nicht aus Form1/Panel1 schieben kann, reagiere ich in
Form2 auf die Message WM_WINDOWPOSCHANGING und unterbinde das dort.

Nun müsste ich aber auch in Form2 reagieren wenn WM_WINDOWPOSCHANGING
in Form1 ausgelöst wird oder einfacher:

Wie löse ich Form2/WM_WINDOWPOSCHANGING aus wenn WM_WINDOWPOSCHANGING in
Form1 ausgelöst wird.

QuickAndDirty hab ich das so gemacht:

in Form1 bei WM_WINDOWPOSCHANGING
Delphi-Quellcode:
Form2. Top := Form2.Top + 1;
Form2. Top := Form2.Top - 1;
Allerdings "hüpft" da Form2 beim bewegen von Form1.
Wie kann man das besser lösen ????

mfg burn
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: In Form2 mitbekommen wenn Form1 bewegt wird

  Alt 18. Dez 2009, 14:20
Reagiere einfach in form1 auf die Windows Message und sende sie auch an Form2!
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
burn

Registriert seit: 9. Apr 2003
80 Beiträge
 
Delphi 5 Professional
 
#3

Re: In Form2 mitbekommen wenn Form1 bewegt wird

  Alt 18. Dez 2009, 14:26
Hatte ich auch schon probiert aber leider wusste ich dann nicht weiter

Hab mir das so gedacht -> In Form1\WM_WINDOWPOSCHANGING:
SendMessage(Form2.handle, WM_WINDOWPOSCHANGING, ?, ?) Aber was muss ich für die 2 Fragezeichen einsetzen ??

Edit:

Hab das Problem selber lösen können. Ich habe einfach in Form1\WM_WINDOWPOSCAHNGING ein
SetWindowPos mit den Parametern von Form2 aufgerufen. Damit wird Form2\WM_WINDOWPOSCAHNGING ausgelöst...
Delphi-Quellcode:
procedure TForm1.WMWINDOWPOSCHANGING(var Msg: TWMWINDOWPOSCHANGING);
begin
  if Assigned(Form2) then
  begin
    SetWindowPos(Form2.Handle, 0, Form2.Left, Form2.Top, Form2.Width, Form2.Height,0);
  end;
end;

mfg burn
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:40 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz