AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls 2 Panels sollen sich das Form gleichmäßig teilen -> Anchors ?
Thema durchsuchen
Ansicht
Themen-Optionen

2 Panels sollen sich das Form gleichmäßig teilen -> Anchors ?

Ein Thema von hoika · begonnen am 5. Jan 2011 · letzter Beitrag vom 23. Apr 2013
Antwort Antwort
Seite 1 von 2  1 2      
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#1

2 Panels sollen sich das Form gleichmäßig teilen -> Anchors ?

  Alt 5. Jan 2011, 07:16
Hallo #,

wie schon gesagt.
2 Panels teilen sich horizontal das Form.
Vergrößere ich das Form, sollen beide Panels jeweils die halbe
Breite des Forms nutzen.

Geht sowas über ausschließliche Nutzung von Anchors ?

PS:
Mit FormResize klappt das natürlich.


Danke

Heiko
Heiko
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#2

AW: 2 Panels sollen sich das Form gleichmäßig teilen -> Anchors ?

  Alt 5. Jan 2011, 07:35
Nur mit Anchors geht imo ich nicht. Du könntest dir aber mal das Ereignis OnAlignPosition anschauen, damit müsste sich das realisieren lassen.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: 2 Panels sollen sich das Form gleichmäßig teilen -> Anchors ?

  Alt 5. Jan 2011, 08:04
Hallo,

Danke.


Heiko
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von Deep-Sea
Deep-Sea

Registriert seit: 17. Jan 2007
907 Beiträge
 
Delphi XE2 Professional
 
#4

AW: 2 Panels sollen sich das Form gleichmäßig teilen -> Anchors ?

  Alt 5. Jan 2011, 10:06
Oder man schaut sich TGridPanel an (erst seit neueren Delphi-Versionen dabei).
Chris
Die Erfahrung ist ein strenger Schulmeister: Sie prüft uns, bevor sie uns lehrt.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: 2 Panels sollen sich das Form gleichmäßig teilen -> Anchors ?

  Alt 5. Jan 2011, 11:11
Hallo,

Kann das TGridPanel denn auch folgendes:

1/3 der Breite Panel 1
2/3 der Breite Panel 2

Antwort: ja, kann es

Jetzt bräuchte ich das nur noch auch für D2007.


Heiko
Heiko

Geändert von hoika ( 5. Jan 2011 um 11:20 Uhr)
  Mit Zitat antworten Zitat
WIng2005

Registriert seit: 20. Mär 2006
Ort: Thüringen
388 Beiträge
 
Delphi XE Starter
 
#6

AW: 2 Panels sollen sich das Form gleichmäßig teilen -> Anchors ?

  Alt 18. Apr 2013, 22:10
Hallo Gemeinde,

ich greife mal dieses relative alte Thema noch einmal auf, da ich ein ähnliches Problem habe. Ich habe mal mein Vorhaben versucht vereinfacht darzustellen (siehe Anhang).
Wie kann ich erreichen, dass sich die 4 Panel (in meinem tatsächlichen Programm sind es 7) beim Vergrößern der Form nicht überschneiden, sich also an der Form und am Nachbarn ausrichten? Nur über den OI habe ich es irgendwie nicht hinbekommen.

Danke für jeden Tip!!

Edit: ich nutze die Dynamic Skin Pack - Komponenten, das Gridpanel scheidet also erstmal aus.
Miniaturansicht angehängter Grafiken
alignment.jpg  
Angehängte Dateien
Dateityp: zip test.zip (84,2 KB, 3x aufgerufen)
MFG
Steffen

Geändert von WIng2005 (18. Apr 2013 um 22:13 Uhr)
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#7

AW: 2 Panels sollen sich das Form gleichmäßig teilen -> Anchors ?

  Alt 18. Apr 2013, 22:42
Indem du die Breiten der einzelnen Panels berechnest und die dementsprechend setzt. Du hast eine Gesamtbreite und eine Anzahl von Panels, die in diese Breite reinpassen sollen.
Also einfache Mathematik. Über den OI geht das nicht. Du kannst höchstens die beiden äußeren Panels links bzw. rechts verankern.

Versuche es mal. Wenn du es nicht hinbekommst, meld dich nochmal hier.

PS.: Und vergiss deinen Quellcode nicht, da immer gern gesehen wird, wie der Ansatz war.
  Mit Zitat antworten Zitat
Volker Z.

Registriert seit: 4. Dez 2012
Ort: Augsburg, Bayern, Süddeutschland
419 Beiträge
 
Delphi XE4 Ultimate
 
#8

AW: 2 Panels sollen sich das Form gleichmäßig teilen -> Anchors ?

  Alt 18. Apr 2013, 23:46
Hallo,

über den OI geht es nicht vollständig, ein klein wenig rechnen wirst Du schon müssen.

Ich kenne das Dynamic Skin Pack nicht (vermute aber, dass die enthaltenen Panels von TPanel ableiten), mit der Standard-VCL-Panel ginge folgendes, um dass, was an den Screenshots zu erkennen ist, zu erreichen:
  1. Lege ein Panel auf das Form (Parentpanel) entsprechende Eigenschaften setzen (Align oder Anchor)
  2. Setzte die Eigenschaft BorderWidth des Parentpanel auf einen entsprechenden Wert z. B. 10
  3. Lege die sieben Panels auf das Parentpanel
  4. Von links nach rechts die ersten sechs Panels mit Align alLeft, das letzte alClient
  5. Von links nach rechts die ersten sechs Panels mit AlignWithMargins True, das letzte AlignWithMargins False
  6. Von links nach rechts die ersten sechs Panels Margin.Bottom, Margin.Left, Margin.Top 0 und Margin.Right z. B. 10
und dann noch etwas Code
Delphi-Quellcode:
procedure TForm4.ParentPanelResize(Sender: TObject);
var
  w : Integer;
begin
  w := (ParentPanel.Width - 2 * ParentPanel.BorderWidth - 6 * Panel1.Margins.Right) div 7;

  Panel1.Width := w;
  Panel2.Width := w;
  Panel3.Width := w;
  Panel4.Width := w;
  Panel5.Width := w;
  Panel6.Width := w
end;
Dann sollten sich die Panels nicht überlappen und alle die gleiche Größe haben (Panel7 kann natürlich ein paar Pixel größer bzw. kleiner sein).

Es sieht zumindest so aus, als wäre es was Du erreichen möchtest (siehe Screenshots hier mit nur 4 Panels).

Gruß
Miniaturansicht angehängter Grafiken
panel0.gif   panel1.gif  
Volker Zeller
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#9

AW: 2 Panels sollen sich das Form gleichmäßig teilen -> Anchors ?

  Alt 19. Apr 2013, 11:05
Indem du die Breiten der einzelnen Panels berechnest und die dementsprechend setzt. Du hast eine Gesamtbreite und eine Anzahl von Panels, die in diese Breite reinpassen sollen.
Also einfache Mathematik. Über den OI geht das nicht.
So und nur so weiß man was man hat.(im onResize des Form)

Du kannst höchstens die beiden äußeren Panels links bzw. rechts verankern.
Das halte ich für überflüssig bzw. kontraproduktiv, da Du Oberflächengestaltung an zwei Orten OI/Programm vornimmst.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#10

AW: 2 Panels sollen sich das Form gleichmäßig teilen -> Anchors ?

  Alt 19. Apr 2013, 22:24
Zitat:
Du kannst höchstens die beiden äußeren Panels links bzw. rechts verankern.
Das halte ich für überflüssig bzw. kontraproduktiv, da Du Oberflächengestaltung an zwei Orten OI/Programm vornimmst.

Gruß
K-H
Deshalb hab ich "höchstens" geschrieben
Ich würds nämlich nicht machen.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 10:33 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