Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Toolbarbuttons anhand MDI-Child Count verfügbar machen


DanyLux - So 02.11.03 21:04
Titel: Toolbarbuttons anhand MDI-Child Count verfügbar machen
Hallo ich hab ein Formular der als FormStyle fsMDIForm hat dann hab ich noch einen der fsMDIChild ist.
ich mach so was wie word :)

jezt hab ich auf mein MDIForm eineToolbar mit Knoepfe, die nicht enable sind. Erst wenn ich ein MDI-Child oeffne werden die enable. Was ich jetzt machen will ist wenn der letzte MDIChild zugemacht wird sollen die Toolbarknoepfe wird nicht enable sein?

Wie kann ich dass machen hab nichts gefunden wie ich das realisieren kann??? :eyes:

Moderiert von user profile iconTino: Titel geändert.


ErnestoChe - So 02.11.03 21:47

Hi,

die Methode MDIChildCount der Form liefert dir die Anzahl der geöffneten MDIChild-Fenster. Du kannst im OnClose deiner Child-Fenster abfragen ob die Anzahl der Fenster gleich 1 ist. Dann setzst du die Toolbuttons auf Enabled := False. Etwa so:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  if Form1.MDIChildCount = 1 then
  begin
    Form1.ToolButton1.Enabled := False;
    Form1.ToolButton2.Enabled := False;
    Form1.ToolButton3.Enabled := False;
  end;

  Action := caFree;
end;


MFG

- Ernesto -


DanyLux - Mo 03.11.03 00:21
Titel: @ernesto
danke ernesto

kanns du mir auch sgen wie ich ein toolbutton auf die verschiedene mdiforms benutzen kann??


Tino - Mo 03.11.03 10:02
Titel: Re: @ernesto
DanyLux hat folgendes geschrieben:
kanns du mir auch sgen wie ich ein toolbutton auf die verschiedene mdiforms benutzen kann??

Kannst du das etwas genauer beschreiben? Danke!

Gruß
Tino


DanyLux - Mo 03.11.03 19:02

ok

ich hab ein hauptformular wie oben schon gesagt :)
und dort kann ich mit new ein mdichild oeffnen und mehr
jetzt hab ich auf dem hauptformular eine toolbar mit buttons, z.B.:bold, italic, underline, ....

wie kann man das realisieren dass ich auch den knpf bold druecke und dass die aktioun bold oder... auf dem ausgewaehlten mdiChild durchgefuehrt wird
und wenn ich dann auf ein anderes mdichil rueberspringe dessen atribute so bleiben wie sie es waren.

Ich hoffe ich hab es jetzt ein bisschen besser erklaert ;)


Tino - Di 04.11.03 09:46

DanyLux hat folgendes geschrieben:
wie kann man das realisieren dass ich auch den knpf bold druecke und dass die aktioun bold oder... auf dem ausgewaehlten mdiChild durchgefuehrt wird

Das aktive MDI-Child bekommst du über das Property ActiveMDIChild der MainForm.

DanyLux hat folgendes geschrieben:
und wenn ich dann auf ein anderes mdichil rueberspringe dessen atribute so bleiben wie sie es waren.

Attribute? Meinst du Eigenschaften? Wenn ja, welche?

Gruß
Tino