AGB  ·  Datenschutz  ·  Impressum  







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

treeview auf mdiform

Offene Frage von "kerim80"
Ein Thema von kerim80 · begonnen am 12. Jul 2005 · letzter Beitrag vom 13. Jul 2005
Antwort Antwort
kerim80

Registriert seit: 16. Jun 2005
9 Beiträge
 
#1

treeview auf mdiform

  Alt 12. Jul 2005, 23:59
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:
procedure Tdesktop.INITFORM(f: TForm);
begin
  f.BringToFront;
  if (f.windowstate=wsminimized) or (f.windowstate=wsnormal) then
     f.windowstate := wsmaximized;
end;
was kann ich machen ???
  Mit Zitat antworten Zitat
Eisenherz

Registriert seit: 10. Jun 2002
Ort: Stadeln
33 Beiträge
 
Delphi 5 Professional
 
#2

Re: treeview auf mdiform

  Alt 13. Jul 2005, 09:52
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.
aloa Eisenherz
  Mit Zitat antworten Zitat
kerim80

Registriert seit: 16. Jun 2005
9 Beiträge
 
#3

Re: treeview auf mdiform

  Alt 13. Jul 2005, 18:05
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
  Mit Zitat antworten Zitat
jaikai

Registriert seit: 1. Jun 2005
70 Beiträge
 
#4

Re: treeview auf mdiform

  Alt 13. Jul 2005, 18:18
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:

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;
[code]
Wenn die Programme das machen, wie's wir machen, wären sie unbrauchbar...
  Mit Zitat antworten Zitat
kerim80

Registriert seit: 16. Jun 2005
9 Beiträge
 
#5

Re: treeview auf mdiform

  Alt 13. Jul 2005, 18:38
1.
ich hatte mir gerade so geholfen das ich im FormCreate die Buttons einzeln rausgelöscht habe

BorderIcons := BorderIcons - [biSystemMenu, biMaximize, biMinimize, biHelp]; wenn ich nun mehrere MDHchild´s erzeugt habe und danach diese schließe
erhalte ich folgendes Bild

C:\Dokumente und Einstellungen\x\Desktop\mdi.jpg

---------------------------------------------------------------------------------------------------
2.
dann hab ich folgendes unter FormActivate
Delphi-Quellcode:
    
self.BringToFront;
if (self.windowstate=wsminimized) or (self.windowstate=wsnormal) then
  self.windowstate := wsmaximized;
das funktioniert sehr gut aber dann hab ich folgendes problem:
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

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??????
  Mit Zitat antworten Zitat
jaikai

Registriert seit: 1. Jun 2005
70 Beiträge
 
#6

Re: treeview auf mdiform

  Alt 13. Jul 2005, 21:05
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ß
Wenn die Programme das machen, wie's wir machen, wären sie unbrauchbar...
  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 11:22 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