Nazwy okien MDI - pobranie nazwy

0

Witam, mam forme (MDI parent window) i kilka potomnych form, wszystko w MDI.
otwieram sobie rozne formy potomne, zamykam je itd.

Chcialbym, zeby na formie glownej bylo widac np. w labelu jaka forma (Form caption) jest aktualnie otwarta (MD CHILD) - jesli zadna to label pusty.

mam problem z dopasowaniem zdarzenia, ktore pozwoli mi okreslic nazwe aktualnej formy.
help me please, pozdro :)

2

Spróbuj ze zdarzeniem Screen.OnActiveFormChange.
Musisz sobie zadeklarować metodę (musi być to metoda, czyli "procedura" obiektowa) obsługi tego zdarzenia, np. w głównej formie tak:

 
  private
    procedure OnActiveFormChange(Sender : TObject);

Kod tej metody może wyglądać tak:

procedure TMainForm.OnActiveFormChange(Sender: TObject);
begin
  if Assigned(Screen.ActiveForm) then
    Caption := Screen.ActiveForm.Caption
  else
    Caption := 'brak aktywnej formy';
end;

Jeszcze trzeba przypisać w/w metodę do zdarzenia, np. tak:

procedure TMainForm.FormCreate(Sender: TObject);
begin
  Screen.OnActiveFormChange := OnActiveFormChange;
end;

A z resztą już sobie pokombinujesz ;-)

0

Dzieki wlooochacz, tego wlasnie szukalem. pozdro :)

0
xas222 napisał(a):

Dzieki wlooochacz, tego wlasnie szukalem. pozdro :)

Spoko, czasami fajnie zrobić coś prostego, a nie ślęczeć nad swoimi problemami.
Zwłaszcza jak to się komuś przyda :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1