AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi MDI Fenster nur bis zu einer gewissen Größe maximieren
Thema durchsuchen
Ansicht
Themen-Optionen

MDI Fenster nur bis zu einer gewissen Größe maximieren

Ein Thema von michaxx · begonnen am 27. Feb 2008 · letzter Beitrag vom 5. Mai 2008
Antwort Antwort
michaxx

Registriert seit: 27. Mai 2007
Ort: Hessen
19 Beiträge
 
Delphi 2009 Professional
 
#1

MDI Fenster nur bis zu einer gewissen Größe maximieren

  Alt 27. Feb 2008, 18:30
Hallo,

Habe ein Problem mit MDI Fenster.
Ich verwende die OutlookBar (Jedi) auf der linken Seite im MDIParent anzeigen.

Öffne danach ein MdiChild, funktioniert alles super.
Nur wenn ich dieses MdiChild maximiere, vergrößert es sich übers ganze MdiParent, und der linke Teil des MdiChild wird von der OutlookBar verdeckt.
Kann mir jemand helfen, das ich es schaffe, das MdiChild zu maximieren, so dass die OutlookBar und das ganze MdiChild sichtbar sind.

Vielen Dank im Voraus

Michael
Michael
  Mit Zitat antworten Zitat
PascalKlaus

Registriert seit: 10. Nov 2003
Ort: Erfurt
2 Beiträge
 
#2

Re: MDI Fenster nur bis zu einer gewissen Größe maximieren

  Alt 5. Mai 2008, 11:49
Hast du die Properties richtig gesetzt:
MainForm.FormStyle := fsMDIForm
OutlookBar.Align := alLeft
und
ChildForm.FormStyle := fsMDIChild ?

Dann muss das automatisch funktionieren.
  Mit Zitat antworten Zitat
michaxx

Registriert seit: 27. Mai 2007
Ort: Hessen
19 Beiträge
 
Delphi 2009 Professional
 
#3

Re: MDI Fenster nur bis zu einer gewissen Größe maximieren

  Alt 5. Mai 2008, 13:37
Hallo,

vielen Dank erstmal, meine Frage ist ja schon einige Wochen alt

ich hatte damals ein wenig Schmarrn geschrieben

Die Outlookbar selber befindet sich nicht in der Mainform, sondern auch in einer MDIChild-Form.
Nun wollte ich verhindern, dass ein anderes Fenster diese Form mit dem Outlook-Control überdecken kann, also beim maximieren
den rechten Rand dieser Outlookbar-Form beachtet.

Hatte verschiedenes - was ich so gefunden hatte - getestet,aber nichts war richtig toll. Meine von Foxpro übetragene Logik klappte auch nicht so Naja, hatte das Problem dann erstmal verschoben, da ich auch erst mal wieder warm mit Delphi werden mußte, waren einige Jahre Pause dazwischen.

Bedeutet: das Problem hängt noch so rum

Michael
Michael
  Mit Zitat antworten Zitat
PascalKlaus

Registriert seit: 10. Nov 2003
Ort: Erfurt
2 Beiträge
 
#4

Re: MDI Fenster nur bis zu einer gewissen Größe maximieren

  Alt 5. Mai 2008, 14:09
Wenn die OutlookBar aber Funktionen für andere Fenster enthält (schlussfolgere ich daraus, dass sie sichtbar sein soll) gehört sie aber eigentlich ins Hauptfenster - oder?
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#5

Re: MDI Fenster nur bis zu einer gewissen Größe maximieren

  Alt 5. Mai 2008, 16:32
man könnte sie auch in ein Client-Fenster stecken, müsste das Client-Fenster aber bei jedem verschiebe/vergrößerungs/verkleinerungsvorgang das Fenster nach ganz oben setzen oder dem Fenster sagen FormStyle := fsStayOnTop,
was dazu führt, dass das Fenster kein MDI-Kind mehr ist.


rollstuhlfahrer
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
michaxx

Registriert seit: 27. Mai 2007
Ort: Hessen
19 Beiträge
 
Delphi 2009 Professional
 
#6

Re: MDI Fenster nur bis zu einer gewissen Größe maximieren

  Alt 5. Mai 2008, 17:39
Zitat von PascalKlaus:
Wenn die OutlookBar aber Funktionen für andere Fenster enthält (schlussfolgere ich daraus, dass sie sichtbar sein soll) gehört sie aber eigentlich ins Hauptfenster - oder?
ja, habe ich drüber nachgedacht. Da das Programm aber sehr komplex ist, wollte ich es möglichst modular aufbauen.
Im Prinzip ist es eine Konvertierung von einem VFP Programm, dort hatte ich es identisch gelöst.

Hier habe ich aber alle Verschiebe/Vergrößerungsaktionen selber implementiert und es nicht dem normalen Windows - Fensterhandling überlassen, so dass ich dann auch die Existenz der Sidebar und Ihrer Position abfragen und berücksichtigen kann.

So im Prinzip:

OnResize:

wenn maximized dann
form.width=form.width - nSidebar.width

(Sidebar.left=0 natürlich)


Die Übertragung der VFP Logik ist mir aber bisher nicht gelungen, Delphi hat wohl seine eigene Meinung über manche Dinge.
Aber ich denke mit zunehmender Beschäftigung mit Delphi finde ich dann den optimalen Weg, sind halt noch einige Lücken.

Viele Grüße
Michael
Michael
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#7

Re: MDI Fenster nur bis zu einer gewissen Größe maximieren

  Alt 5. Mai 2008, 17:48
Zitat von michaxx:
Die Outlookbar selber befindet sich nicht in der Mainform, sondern auch in einer MDIChild-Form.
Nun wollte ich verhindern, dass ein anderes Fenster diese Form mit dem Outlook-Control überdecken kann, also beim maximieren
den rechten Rand dieser Outlookbar-Form beachtet.
Die Outlookbar sollte direkt auf dem Mainform liegen. Schau dir mal das Delphi Demoprojekt unter ...\Demos\Docking an.
Dort wird gezeigt, wie man Toolbars aus dem Hautpformular rausziehen kann und auch wieder andocken kann.
(ziemlich ähnlich wie das die Delphi IDE selber kann)
Andreas
  Mit Zitat antworten Zitat
Antwort Antwort


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 16:52 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz