Autor Beitrag
Szebin
Hält's aus hier
Beiträge: 7

Win XP
Delphi 7
BeitragVerfasst: Di 17.01.06 15:53 
Ich beschäftige mich erst seit ein paar Tagen mit Delphi; dies als kurze Einleitung.
Für eine Anwendung mit mehreren Formularen habe ich ein MDI-Projekt gewählt. Das MDIForm hat ein MainMenu mit verschiedenen Menupunkten, über die die verschiedenen MDIChilds aufgerufen werden. Nun habe ich nachfolgenden Quelltext erstellt, um mittels MDIChildCount und MDIChildren[i].Name abzuprüfen, ob das MDIChild geöffnet ist oder nicht. Ist das MDIChild nicht geöffnet gibt es kein Problem; bis hierhin funktioniert auch alles ganz prima. Jetzt schon stoße ich an die Grenze und weiß nicht, wie ich es eben weiter bewerkstellen soll.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
procedure TFormMain.MenuItem_ChildForm10Click(Sender: TObject);
var i: Integer;
var blnFormOpen: Boolean;
begin
  blnFormOpen := False;
  for i := 0 to MDIChildCount-1 do
    if MDIChildren[i].Name = 'ChildForm10' then
      blnFormOpen := True;

  if blnFormOpen = False then
    TFormPortobuch.Create(Application)
  else
    { hier soll jetzt das bereits geöffnete ChildForm10 in den
    Vordergrund; leider weiß ich nicht wie !!?? }

end;


Moderiert von user profile iconUGrohne: Delphi-Tags hinzugefügt.

_________________
Wer viel fragt ist ein Plagegeist, wer nichts fragt ist ein unwissender Geist. Lieber ein Plagegeist als gar keinen !!
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6395
Erhaltene Danke: 149

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Di 17.01.06 16:01 
So würde ich es lösen:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
procedure TFormMain.MenuItem_ChildForm10Click(Sender: TObject);
var i: Integer;
begin
  for i := 0 to MDIChildCount-1 do
    if MDIChildren[i].Name = 'ChildForm10' then
    begin
      TForm(MDIChildren[i]).BringToFront; // Existierende Form anzeigen
      Exit; // Beendet die Procedure, wenn gefunden
    end;
  // Bis hierhin gekommen, also ist die From noch nicht da.
  TFormPortobuch.Create(Application);
end;
Szebin Threadstarter
Hält's aus hier
Beiträge: 7

Win XP
Delphi 7
BeitragVerfasst: Di 17.01.06 16:09 
Hallo Peter,

top und vielen herzlichen und nochmals schönen Dank. Ich sitze jetzt schon seit zwei Tagen dran und probiere und probiere und nichts kommt dabei raus. Einmal gepostet und sofort eine Antwort und alles klappt so wie ich es mir gewünscht habe.
Ich könnt' dich knuddeln.

Danke für die schnelle Hilfe
Sabine

_________________
Wer viel fragt ist ein Plagegeist, wer nichts fragt ist ein unwissender Geist. Lieber ein Plagegeist als gar keinen !!
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6395
Erhaltene Danke: 149

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Di 17.01.06 16:19 
Nicht doch. Ich bin doch so schüchtern. :oops: :wink: