![]() |
treeview auf mdiform
Hallo,
habe eine TreeView auf einer MDIForm mit Align = alClient. In der Treeview sind einträge die wiederum MDIChild´s aufrufen aber wenn ich die MDIChild´s aufrufe erscheinen diese hinter dem Treeview :( benutze auch folgenden Code beim aufrufen eines MDICHíld´s
Delphi-Quellcode:
was kann ich machen ???
procedure Tdesktop.INITFORM(f: TForm);
begin f.BringToFront; if (f.windowstate=wsminimized) or (f.windowstate=wsnormal) then f.windowstate := wsmaximized; end; |
Re: treeview auf mdiform
Wenn man auf einem MDI-Formular einen TreeView oder ein anderes WinControl platziert, dann steht den MDI-Childs nur der Platz zur Verfügung, der nicht vom TreeView belegt ist. Align = alClient ist also ganz schlecht. Mit Algin = alLeft würdest du vielleicht glücklicher werden.
Evtl. kannst du auch damit leben, das TreeView selbst in einem MDI-Child zu platzieren. Du könntest natürlich auch auf MDI verzichten und das ganze von Hand machen. |
Re: treeview auf mdiform
gut ich öffne jetzt die treeview in einem MDCHild. funktioniert auch.
wie bekomme ich denn jetzt die Buttons Minimieren, Maximieren und Schließen oben rechts im fenster des MDIChild´s weg ich hab den Borderstyle des MDIChild´s auf bsNone gesetzt aber der ignoriert das und zeigt mir die Buttons trotzdem. ------------------------------------------------------------------------------------------------------------------------------------------------ oder ich mache das wie früher eine MDIForm mit dem TreeView (Align = alClient) und dann die MDIChild´s erzeugen aber das die MDICHild´s im Vordergrund sind und nicht das TreeView.... Ich schaue auch schon die ganze zeit im internt nach lösungen aber ich finde nicht vielleicht hab ich einfach nur einen BlackOut... Bin für jeden Vorschlag dankbar |
Re: treeview auf mdiform
Hi
ganz einfach: Borderless MDI Form To create an MDI Form without a border, you need to override the CreateParams() method and modify the style and exStyle bytes there.
Code:
[code]type TForm1 = class(TForm) // .. procedure CreateParams(var Params: TCreateParams); override; end; implementation {$R *.DFM} procedure TForm1.CreateParams(var Params: TCreateParams); begin inherited CreateParams(Params); with Params do begin Style := Style and WS_BORDER; exStyle := exStyle and WS_DLGFRAME; end; end; |
Re: treeview auf mdiform
1.
ich hatte mir gerade so geholfen das ich im FormCreate die Buttons einzeln rausgelöscht habe
Delphi-Quellcode:
wenn ich nun mehrere MDHchild´s erzeugt habe und danach diese schließe
BorderIcons := BorderIcons - [biSystemMenu, biMaximize, biMinimize, biHelp];
erhalte ich folgendes Bild :) ![]() --------------------------------------------------------------------------------------------------- 2. dann hab ich folgendes unter FormActivate
Delphi-Quellcode:
das funktioniert sehr gut aber dann hab ich folgendes problem:self.BringToFront; if (self.windowstate=wsminimized) or (self.windowstate=wsnormal) then self.windowstate := wsmaximized; wenn ich mehrere mdichild´s geöffnet habe und dann eins davon schließe und die TreeView-Form erhaltet den Focus dann wird das Fenster maximiert und ich komme nicht mehr an die anderen fenster dran :) --------------------------------------------------------------------------------------------------- 3. der vorschlag von dir jaikai ist fast das gleiche wie in Punkt 1. es ist auf jedenfall besser als mein Code aber hat die gleichen Auswirkungen wie bei 1. Ich kriege die Kriese :wall: Die beste Lösung wäre das ich die TreeView auf die MDIForm drauftue und dann die MDIChild´s erscheinen beim erzeugen vor dem TreeView. Aber wie?????? |
Re: treeview auf mdiform
Meines Wissens nach ist es so gut wie unmöglich, von einem MDI aus den anderen zu "füttern". Ich habkeine Lösung gefunden. Ich hab mir so geholfen, daß ich über das Hauptprogramm die notwendigen Routinen ausgelagert habe. Zum Teil über Timer gesteurt ablaufen lasse.
Alles andere war Murks... Gruß |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:50 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 by Thomas Breitkreuz