AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

MDI Child hat falsche Größe bei wsMaximized

Ein Thema von ZOD · begonnen am 15. Mai 2018 · letzter Beitrag vom 16. Mai 2018
 
ZOD

Registriert seit: 6. Mai 2009
97 Beiträge
 
#1

MDI Child hat falsche Größe bei wsMaximized

  Alt 15. Mai 2018, 11:55
Hallo zusammen,

seit einigen Tagen suche ich nach meinem Fehler und sehe wohl inzwischen den Wald vor lauter Sträuchern nicht mehr (Bäume sind alle abgesägt).

Folgende Situation:

- älteres Projekt in D7
- MDI Applikation
- Application.Mainwindow ist fsMDIForm
- es gibt eine MDIChild-Basisklasse
- davon abgeleitet viele Kinder
- im Hauptformular ist eine TreeView (Projekt-Baum)
- beim Select eines Knoten wird das entsprechende MDIChild-Formular angezeigt

Wie gesagt, das ist ein älteres Projekt (seit 2003 laufend). Bisher klappte alles wie gewollt.

Nun gibt es bei einem MDI-Child (dem Formular zum obersten Knoten = Projektknoten) seit
einigen Tagen ein Problem:

Das Formular wird nicht mehr wie die anderen MDIChilds in den verfügbaren Clint-Bereich des Hauptformulares eingepasst sondern scheinbar in den Bildschirm (s.u.).

Ich habe natürlich eine Versionsverwaltung aktiv und versucht herauszufinend, ab welcher Änderung das Problem auftritt.
Aber hier komme ich nicht weiter. Auch "alte" Versionen zeigen nun das Problem in der Delphi-IDE und als EXE nach neukompieren, obwohl die "alten" EXE das Problem nicht haben.

Natürlich habe ich was vermurkst .. nur was?

Zur Fehlersuche habe ich mir im FormResize des MDIChild einige Infos anzeigen lassen.
FormResze wird oft aufgerufen. Nach der Instanzierung wird irgendwannn die MDIChild-Formgröße genau dem Clientbereich angepasst.
Hier Auszüge meiner "Debuganzeige":

frmRMProjekt.Width x Height = 860 x 742
frmRMProjekt.ClientWidth x ClientHeight = 860 x 742
frmRMProjekt.FormStyle = fsMDIChild
frmRMProjekt.Owner = dmMakeTree
frmMain.ClientRect = 860 x 742

und bei einem der nächsen Aufrufe von FormResize sieht das dann plötzlich so aus:

frmRMProjekt.Width x Height = 1920 x 1016
frmRMProjekt.ClientWidth x ClientHeight = 1920 x 1016
frmRMProjekt.FormStyle = fsMDIChild
frmRMProjekt.Owner = dmMakeTree
frmMain.ClientRect = 864 x 746

Wie gesagt - NUR bei diesem Formular.

Hat irgendwer zielführende Ideen oder Vorschläge? Ich bin wirklich dankbar für Tipps.

Sicher habe ich hier nicht alle Details aufgeführt - einfach fragen.
Den gesamten Code zu posten halte ich für extrem unelegant, da das ein größeres Projekt ist.

Danke für Unterstützung.
  Mit Zitat antworten Zitat
 

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:14 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz