AGB  ·  Datenschutz  ·  Impressum  







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

problem mit manual dock

Ein Thema von hyype · begonnen am 17. Okt 2011 · letzter Beitrag vom 28. Okt 2011
Antwort Antwort
Benutzerbild von dataspider
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.359 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: problem mit manual dock

  Alt 17. Okt 2011, 10:17
das ist ja kein problem und dann?
ich kann nicht einfach width setzen
Sorry, war Quatsch

DockPanel.DockManager.SaveToStream(AStream)?

Frank
Frank Reim
  Mit Zitat antworten Zitat
hyype

Registriert seit: 5. Nov 2008
97 Beiträge
 
Delphi XE2 Professional
 
#2

AW: problem mit manual dock

  Alt 17. Okt 2011, 11:11
@himitsu:
ich hatte tatsächlich die components durchsucht
jetzt habe ich es so:
Delphi-Quellcode:
  for i := 0 to self.ControlCount - 1 do
    if self.Controls[i] is TSplitter then
      showmessage('1');
  for i := 0 to self.componentcount - 1 do
    if self.components[i] is TSplitter then
      showmessage('2');
  for i := 0 to panel1.controlcount - 1 do
    if panel1.Controls[i] is TSplitter then
      showmessage('3');
  for i := 0 to panel1.componentcount - 1 do
    if panel1.components[i] is TSplitter then
      showmessage('4');
  for i := 0 to testform1.ControlCount - 1 do
    if testform1.Controls[i] is TSplitter then
      showmessage('5');
  for i := 0 to testform1.componentcount - 1 do
    if testform1.components[i] is TSplitter then
      showmessage('6');
  for i := 0 to testform2.controlcount - 1 do
    if testform2.Controls[i] is TSplitter then
      showmessage('7');
  for i := 0 to testform2.componentcount - 1 do
    if testform2.components[i] is TSplitter then
      showmessage('8');
self ist das hauptformular mit dem panel, testform1 & 2 sind die, die ans panel angedockt werden.
ich bekomme keine ausgabe.. aber das teil, was da zwischen den formularen entsteht, verhält sich genau wie ein tsplitter..
edit: habe jetzt mal von allen controls/components den classname ausgeben lassen - da liegt nichts, was ich nicht hingelegt habe...

@dataspider:
du meinst, ich solle die aktuelle konfiguration per savetostream in nen stream packen und dann wieder aus dem stream rausladen? hmm..
ich hätte halt gedacht, dass es doch irgendwie per code möglich sein müsste, das ganze so einzustellen, als würde ich als user den splitter ziehen...

Geändert von hyype (17. Okt 2011 um 11:42 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von dataspider
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.359 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: problem mit manual dock

  Alt 17. Okt 2011, 12:07
du meinst, ich solle die aktuelle konfiguration per savetostream in nen stream packen und dann wieder aus dem stream rausladen? hmm..
ich hätte halt gedacht, dass es doch irgendwie per code möglich sein müsste, das ganze so einzustellen, als würde ich als user den splitter ziehen...
Ich muß gestehen, dass sich mir die Zusammenhänge auch nicht ganz erschließen.
Laut Hilfe sollte LRDockWidth eigentlich hilfreich sein, ist es aber nicht.

Wahrscheinlich läuft alles über den DockManager bzw. den DockTree.
Ein Splitter wird auch nicht erstellt.

Ich wüßte jetzt keine andere Lösung.

Frank
Frank Reim
  Mit Zitat antworten Zitat
hyype

Registriert seit: 5. Nov 2008
97 Beiträge
 
Delphi XE2 Professional
 
#4

AW: problem mit manual dock

  Alt 17. Okt 2011, 13:33
ich probiers jetzt mit nem splitter und 2 panels auf meinem eigentlichen panel...
wie ich panel-in-panel-konstrukte liebe ^^
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.355 Beiträge
 
Delphi 12 Athens
 
#5

AW: problem mit manual dock

  Alt 17. Okt 2011, 13:50
Und was sagt Folgendes?
Delphi-Quellcode:
for i := 0 to TestForm1.Parent.ControlCount - 1 do
  if TestForm1.Parent.Controls[i] is TSplitter then
    ShowMessage('9');
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#6

AW: problem mit manual dock

  Alt 17. Okt 2011, 15:13
Mein Ansatz wäre auf ManualDock zu verzichten, den Forms das Panel als Parent zuzuweisen, die Alignments zu setzen, gegf. einen Splitter manuell dazwischen zu erzeugen, dann kanst Du die Brieten setzen wie Du lustig bist. Diese "Dockdasformauf einem Parent" verwenden wir üblicherweise in einem überschriebenen Konstruktor unserer Formtemplates, der Aufruf wird hierdurch auf eine Minimum an Code eingedampft.
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
hyype

Registriert seit: 5. Nov 2008
97 Beiträge
 
Delphi XE2 Professional
 
#7

AW: problem mit manual dock

  Alt 17. Okt 2011, 16:13
@himitsu:
nix :/

@bummi:
wenn man die formulare an das panel andockt, hat der user später die möglichkeit, sie dort wieder abzudocken und wenn er mehrere monitore hat, kann er das ausgedockte form dann auf nen anderen monitor ziehen. das ist schon ziemlich praktisch.

Geändert von hyype (17. Okt 2011 um 16:16 Uhr)
  Mit Zitat antworten Zitat
hyype

Registriert seit: 5. Nov 2008
97 Beiträge
 
Delphi XE2 Professional
 
#8

AW: problem mit manual dock

  Alt 24. Okt 2011, 09:04
ich habe aufgegeben
ich habe auf das panel jetzt 2 weitere panels mit nem splitter dazwischen platziert und docke somit jedes form in sein eigenes panel
damit auftretende probleme konnte ich über dieverse docking-events lösen, es scheint jetzt bugfrei zu funktionieren
  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 05:27 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