Announcement

Collapse
No announcement yet.

Fensterhändling bei einer MDI Application

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

  • Fensterhändling bei einer MDI Application

    Ich möchte ein MDI-Application erstellen. Dabei habe ich probleme mit dem Fensterhändling. Normaler weise hat es für jedes Fenster im Menu einen eintrag. Aber bei meinem Programm will dies einfach nicht zum fünktionieren kommen. Ich habe das Beispiel von Borland studiert (Textedit). Dies konnte mich auch nicht weiterhelfen. Bei mir wird erst ein Menüpunkt eingefühgt wenn ich mit TMenuItem und Add einen hinzufühge. Jedoch beim Texteditbeistpiel suche ich das vergebens. Also lautet meine Frage wie machen die das? Oder kann mich jemand in die Geheimnisse der MDI Fensterhändlings einführen.

    Gruss Renato

  • #2
    Hallo Renato,

    hast Du auch eine MDI-Anwendung erzeuugt
    (unter Datei -> Neu -> Weitere, Tab: Projekte -> MDI-Anwendung)?

    Grüße Joche

    Comment


    • #3
      Ciao Jochen

      Ich habe kein MDI-Projekt erstellt. Die Idee mit einer MDI Applikation kahm mir erst später. Was ich bereits gemacht habe ist, dass ich das eine Form im Objektinspektor unter FormStyle mit fsMDIForm und das andere mit fsMDIChild benant habe. Anschliessend habe ich noch im MDIForm noch im WindowMenu der Name des Menüpunktes angegeben wo die neuen Punkte angehängt werden sollten.
      Wenn das aus einem MDI-Projekt funktioniert, dann sollte man meinen, dass man ein Projekt nachträglich umbiegen kann. Nur gefragt wie oder wo?

      Gruss Renat

      Comment


      • #4
        Hallo Renato,

        die Lösung ist relativ einfach:<BR>
        Du musst in deiner Hauptform als 'FormStyle' 'fsMDIForm' angeben, damit diese als 'Mutter aller Fenster' agieren kann.<BR>Die Kind-Fenster werden im Fenster-Menü angezeigt (wenn eines zugewiesen ist), also weise der Eigenschaft 'WindowMenu' das gewünschte Menü zu, in dem die Fenster erscheinen sollen.

        Gruß Knu

        Comment


        • #5
          Ciao Knut

          So einfach ist es nicht wie du es sagst. Es Stimmt, was du sagst, wenn man das Programm von einem MDI-Projekt ableitet. Aber dies war bei mir nicht gegeben weil ich erst im laufe der Entwicklung auf die Idee kamm das Programm als MDI zu erstellen.
          Nun ich habe ein bischen getüftelt und habe folgende Lösung realisiert. Im Child-Fenster habe ich mit den beiden Ereignissen "OnActivate" und "OnDeavtivate" habe ich das Setzen des Menühackens gemacht. Für das OnKlick Ereigniss habe ich eine Funktion geschrieben worin ich den Sender abfrage. Diese Funktion wird jedem neu erstellten Menüpunkt am OnKlick Ereigniss zugewiesen. Inerhalb der Funktion wird mit einem Dynamischen cast erfragt wer der Auslöser war des Ereignises. Die Koordination zwischen den Menüitem und den Fenstern, erstellte ich mitels einer ID Nummer welche ich im Property Tag abgelegt habe.
          Bestimmt giebt es auch einfachere Lösungen aber so funktioniert es bei mir.

          Gruss Renat

          Comment

          Working...
          X