Announcement

Collapse
No announcement yet.

Toolbar Merge?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Toolbar Merge?

    Hallo,

    Umg.: Delphi 6 Ent. UP2

    Wie kann ich im Rahmen einer MDI-Anwendung eine Toolbar der MainForm mit einer Toolbar des ChildForms "mergen"?

    Danke im voraus<br>
    Stephan

  • #2
    Hallo Stephan,

    Delphi macht das automatisch.

    Baue in jedem MDI-Child ein eignes Menü auf und gib den Untermenü-Items jedes MDI-Childs einen eigenen GroupIndex. Im Menü des Hauptformulars verbleiben nur die Menüeinträge, die ohne MDI-Kinder sichtbar sein sollen; lassen den GroupIndex der vorderen Menüs bei 0; Untermenüs, die weit rechts erscheinen sollen (üblicherweise "Hilfe"), bekommen einen großen GroupIndex (größer als die Werte der MDI-Child-Menüs).

    Beim Öffnen eines MDI-Childs wird dann dessen Menü ins Menü des Hauptformulars eingeblendet, und zwar in der Reihenfolge, die durch die GroupIndex-Werte festgelegt ist.

    Nach meiner Erfahrung kann man immer nur kompletten Untermenüs einfügen, innerhalb eines Untermenüs funktioniert der GroupIndex-Mechanismus nicht.

    Gruß, Werne

    Comment


    • #3
      Hallo Stephan,

      jetzt habe in Deiner Frage erst bemerkt, dass Du ja von Toolbars redest...

      Bei Toolbars funktioniert der GroupIndex-Mechanismus nicht. Hier kann man folgendermaßen vorgehen:

      - Im MainForm eine Toolbar mit den allgemein verfügbaren Toolbuttons aufbauen und in ein Controlbar oder Coolbar einfügen.

      - In jedem Childform ebenfalls eine Toolbar erzeugen mit den Befehlen, die nur diesen Childform-Typ betreffen.

      - In der Mainform-Methode, die das ChildForm öffnet, den "Parent" der ChildFormToolbar auf die Mainform-Controlbar (oder -Coolbar) setzen); die Childformtoolbar erscheint dann als neues Band in dem Coolbar.

      - Beim Schließen eines MDI-Childforms den Parent der Childform-Toolbar wieder auf "self" (d.h. MDI-Childform) zurücksetzen - dadurch sollte die Toolbar wieder aus dem Hauptformular verschwinden.

      Gruß, Werne

      Comment

      Working...
      X