AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Größen von Objekten in einer Form anpassen
Thema durchsuchen
Ansicht
Themen-Optionen

Größen von Objekten in einer Form anpassen

Ein Thema von Alexander Roth · begonnen am 15. Aug 2004 · letzter Beitrag vom 26. Mär 2006
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von Alexander Roth
Alexander Roth

Registriert seit: 17. Mai 2004
Ort: Kenn
574 Beiträge
 
Turbo Delphi für Win32
 
#1

Größen von Objekten in einer Form anpassen

  Alt 15. Aug 2004, 16:45
Hi Leute,

wisst ihr wie man am besten die Größen von allen Objekten in einer Form wenn dass Fenster vergrößert / verkleinert wird, anpasst, sodass alles ein bisschen größer wird wenn man das Fenster vergrößert und umgekehrt. Ich habe schon den Weg ausprobiert indem ich jedes einzelnes Objekt die
Höhe und Breite und Position bestimme. Ist nur ein bisschen mega mühsam.

Danke im Vorraus.
Alexander Roth
Ich bin umgestiegen auf: Lazarus und Ubuntu! Alles OpenSource!

Besuch doch mal: www.roth.us.ms
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#2

Re: Größen von Objekten in einer Form anpassen

  Alt 15. Aug 2004, 17:00
Schau dir mal Delphi-Referenz durchsuchenAlign bzw. Delphi-Referenz durchsuchenAnchors an.
  Mit Zitat antworten Zitat
Benutzerbild von Alexander Roth
Alexander Roth

Registriert seit: 17. Mai 2004
Ort: Kenn
574 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Größen von Objekten in einer Form anpassen

  Alt 15. Aug 2004, 17:33
Align ist ja so was nur am Rand und dann so schrecklich über die ganze Seite.
Anchors scheint ja das richtige zu sein, aber irgendwie krieg ich es nicht hin dass er die richtigen typen da hat:
Zitat:
[Fehler] Unit1.pas(49): Inkompatible Typen: 'TAnchors' und 'TAnchorKind'
Mein Quelltext:
form1.Button1.Anchors := akLeft ;
Alexander Roth
Ich bin umgestiegen auf: Lazarus und Ubuntu! Alles OpenSource!

Besuch doch mal: www.roth.us.ms
  Mit Zitat antworten Zitat
ManuelM

Registriert seit: 31. Jul 2004
12 Beiträge
 
Delphi 6 Personal
 
#4

Re: Größen von Objekten in einer Form anpassen

  Alt 15. Aug 2004, 21:26
Hi!

Hättest du einen Blick in die OH geworfen hättest du bemerkt, dass Anchors ein Set of ist. Zudem kann man das gleich am OI sehen, wenn man die Eigenschaft aufklappt.

Es muss also heißen:
Anchors := [akLeft];
  Mit Zitat antworten Zitat
Benutzerbild von Alexander Roth
Alexander Roth

Registriert seit: 17. Mai 2004
Ort: Kenn
574 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Größen von Objekten in einer Form anpassen

  Alt 16. Aug 2004, 11:53
Also,

Anchors verankert die Position am Bildschirm und nicht an dem Fenster wie ich es mir wünschen würde.
Vielleicht habe ich auch meine Frage falsch gestellt: Ich würde einige Felder Listen usw automatisch der größe des Fensters anpassen.
Alexander Roth
Ich bin umgestiegen auf: Lazarus und Ubuntu! Alles OpenSource!

Besuch doch mal: www.roth.us.ms
  Mit Zitat antworten Zitat
Benutzerbild von phXql
phXql

Registriert seit: 11. Mär 2004
Ort: Mühldorf
824 Beiträge
 
#6

Re: Größen von Objekten in einer Form anpassen

  Alt 16. Aug 2004, 12:49
bei mir geht das mit anchors. ich hab ne form gemacht, ne listbox drauf gesetzt und dann alle anchors der listbox auf true gesetzt. und nun, wenn ich die form resize, dann resizet auch die listbox mit. das is doch das, was du willst, oder?
"Dunkel die andere Seite ist"
"Yoda! Halts Maul und iss deinen Toast!"
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#7

Re: Größen von Objekten in einer Form anpassen

  Alt 16. Aug 2004, 12:54
Ich versteh's so, dass er alle Komponenten proportional zum Form verändern will, dass also wenn Form.width:=2*Form.width gemacht wird, dass dann alle Komponenten doppelt so breit werden.
Also könntest du width und heigth des Forms speichern und dann wenn sich diese Werte ändern, den Quotienten aus width(alt) und width(neu) berechnen und dann für jede Komponente width und left mit dieser Zahl multiplizieren. (analog dazu Form.height und Top sowie heigth anpassen). Ich hab's jetzt nicht ausprobiert, sollte aber so zu machen sein.
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
Benutzerbild von Alexander Roth
Alexander Roth

Registriert seit: 17. Mai 2004
Ort: Kenn
574 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Größen von Objekten in einer Form anpassen

  Alt 16. Aug 2004, 13:53
Irgendwie mach er das aber nicht proportional.
Er verkleinert/vergrößert zwar die Listen etc., aber zb: In der Normalen Ansicht grenzen 2 Listboxesn aneinader. Mach man nun bei beiden alle Anchors = true, führt dann aus, und zieht das Fenster seitlich auseinander, sind nicht beide Lisen etwas breiter geworden, dass sie immer noch aneinandergrenzen sondern stehen so eklich übereinander.

Ja genau, Toxman, nur leider hab ich die Idee schon gehabt (warvielleicht nicht ganz so offensichtlich, doch:)
Zitat:
Ich habe schon den Weg ausprobiert indem ich jedes einzelnes Objekt die
Höhe und Breite und Position bestimme. Ist nur ein bisschen mega mühsam.
Alexander Roth
Ich bin umgestiegen auf: Lazarus und Ubuntu! Alles OpenSource!

Besuch doch mal: www.roth.us.ms
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#9

Re: Größen von Objekten in einer Form anpassen

  Alt 16. Aug 2004, 21:07
Also ich hab hier mal kurz eine procedure geschrieben dir dir nützlich sein könnte. Nur muss die für jede Komponente aufgerufen werden, aber wahrscheinlich gibt es eine Möglichkeit eine TControl ist die Basisklasse für alle Komponenten, die zur Laufzeit sichtbar sind. Art Findcomponent so zu gestalten, dass alle TControl-Komponenten aufgerufen werden.
Delphi-Quellcode:
procedure Tform.Changecomponent(comp: TControl; dw1,dh1: real);
begin
comp.left:=round(dw1*comp.Left);
comp.width:=round(dw1*comp.Width);

comp.top:=round(dh1*comp.Top);
comp.height:=round(dh1*comp.Height);
end;

    // zu den Variablen:
//im oncreate oder schon fest:
w:=form.Width;
h:=form.Height;

// Dann bei einem Veränderung des Forms:
dw:=form.Width/w;
dh:=form.Height/h;

// und aufrufen:
Changecomponent(Panel1,dw,dh);
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#10

Re: Größen von Objekten in einer Form anpassen

  Alt 16. Aug 2004, 22:52
Jetzt noch schneller: (Hier kommt's her)

Delphi-Quellcode:
for i := 0 to Form.ControlCount-1 do
Changecomponent(Form.Controls[i],dw,dh);
Viel Spaß
Tox

@ Codelib-Manager: Meint ihr, dass Ganze sollte in die Codelib? Ist eigentlich recht nützlich
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 15:37 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