Announcement

Collapse
No announcement yet.

Problem mit Formularen

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

  • Problem mit Formularen

    Hallo zusammen

    Ich habe ein wirklich dämliches Problem mit 3 übereinanderliegenden Formularen.
    Kurze Beschreibung: Ich verwende ein Hauptformular, das auf der Linken Seite einen ListView beinhaltet und auf der rechten Seite durch 3 (sichtbar ist nur das momentan aktivierte) ausgefüllt wird. Je nachdem welche Funktion (suchen, bearbeiten etc.) grade ausgewählt ist, wird das entsprechende Formular nach vorne gebracht und verdeckt die dahinter liegenden.

    Soweit so gut. Problematisch ist es nur deshalb, weil der User das Formular über die Titelleiste verschieben kann und dann auch die hinteren Formulare sieht.

    Ergo muss die Titelleiste weg. Ich hab also mit

    "SetWindowLong mit &! WS_CAPTION" die Titelleiste bei der Formularerzeugung
    entfernt.

    Hat auch geklappt ABER. Wenn ich über einen Button ein Formular aufrufen will, das hinter dem/den anderen liegt, wird dies nicht mehr korrekt dargestellt.

    z.B. Formular 1 besitzt ein StringGrid und Formular 2 ist noch ohne Komponenten also grau. Rufe ich nun Formular 2 auf "BringToFront", dann ist dieses Formular zwar eigentlich schon vor dem Formular 1 aber ein Kästchen des StringGrids von Formular 1 ist noch zu sehen (durch Formular 2 "hindurch". Es ist nicht selektier,- aber sichtbar. Wechsel ich nun wieder zu Formular 1 (über Button mit "BringToFront"), so wird dieses garnicht mehr sichtbar (bis auf das eine Kästchen des Grids).

    Wenn jemand eine Lösung für mich hat wäre ich echt dankbar!

    PS: Die 3 überlagernden Fenster auf dem Hauptformular sind vom Typ Child.

  • #2
    Probier doch mal <tt>ChildForm->Parent = MainForm</tt>. Und setze den BorderStyle der Kinderchen auf bsNone. Hier:<br>
    http://www.entwickler-forum.de/webx?128@@.ee8cb23
    <br>steht's genauer, wenn auch für Delphi.
    <br>Ciao, Uli

    Comment


    • #3
      Danke erstmal für den Tip!

      Allerdings habe ich bereits eine Lösung gefunden .

      Ich hatte festgestellt, daß der Darstellungsfehler nur Auftritt (bzw. die Anwendung sich aufhängt), wenn das 2. Child "blanko" ist. Nachdem ich ein StringGrid draufgelegt hatte gings. Hatte dann aber wieder nen anderes Problem . Das Formular wurde an der falschen Stelle im Hauptformular dargestellt. Positionierung nach oben hat gestimmt aber es war, jedes Mal wenn es erzeugt wurde, zu weit rechts (auf der linken Seite war jede Menge Platz).Ich hab mir dann die X Koordinaten anzeigen lassen und komischer Weise sagte die aus, daß das Formular an der richtigen Stelle (0) wäre??. Hat man dann nach rechts gescrollt wurde der Linke Rand abgeschnitten und es war an der "wirklich" richtigen Stelle+ Scrollbar weg. Wenn jemand ne Erklärung dafür hat bin ich ganz Ohr, würde mich mal interessieren warum X-Koordinate 0 des Hauptformulars auf einmal nicht ganz links war.

      Naja, jedenfalls habe ich statt &! WS_CAPTION nun einfach & WS_CHILD verknüpft. Jetzt passt alles.

      Danke nochmal

      Comment


      • #4
        wieso machst du das eigentlich mit 3 Formularen, wenn das ganze ein Programm ist ???

        Comment

        Working...
        X