AGB  ·  Datenschutz  ·  Impressum  







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

Mainform VertScrollbaran MDI anpassen

Ein Thema von jaikai · begonnen am 17. Nov 2005 · letzter Beitrag vom 18. Nov 2005
 
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#6

Re: Mainform VertScrollbaran MDI anpassen

  Alt 18. Nov 2005, 00:47
Ich glaube du machst da einen Denkfehler.

Egal welche Position deine Scrollbar einnimmt die Koordinaten aller Childfenster bleiben immer unverändert. Deine Schleife um I zu berechnen wird im Grunde also immer den gleichen Wert liefern so lange du keines der Childs verschoben hast. Die Scrollbar ist davon absolut unbeeindruckt da der Clientbereich des MDI Forms einfach per Offsets wie ein "Sichtfenster" auf die MDI Childs arbeitet.

Anders ausgedrückt: bewegst du die Scrollbars so werden NICHT die Koordinaten der MDI Child Fenster verändert, diese bleiben gleich.

Angenommen du möchtest das Aktive Control der Childs immer vollständig sichtbar haben, dann musst du so vorgehen:

1.) ermittle ClientRect vom MainForm
2.) ermittle ClientRect vom ActiveControl
3.) konvertiere mit MapWindowPoints() das ActiveControl.ClientRect in die relativen Koordinaten zu MainForm.ClientHandle.
4.) berechne nun einen X,Y Offset so daß dieses Rect innerhalb des sichtbaren Bereiches vom MainForm.ClientRect zum liegen kommt
5.) der X,Y Offset ist nun der additive Offset auf MainForm.ClientHandle.WindowOrg um die Position der vertikalen und horizontalen Scrollbar einzustellen


Gruß Hagen
  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 06:36 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