AGB  ·  Datenschutz  ·  Impressum  







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

Frage zu Oberflächendesign: Ausrichtung

Ein Thema von Chewie · begonnen am 28. Jan 2004 · letzter Beitrag vom 30. Jan 2004
Antwort Antwort
Seite 1 von 2  1 2      
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#1

Frage zu Oberflächendesign: Ausrichtung

  Alt 28. Jan 2004, 18:54
Ich versuche gerade, eine Oberfläche so zu gestalten, dass sie auch beim Resizen die gleichen Proportionen beibehält. Konkret heißt das, ich habe zunächst drei Panels, die folgendermaßen angeordnet sind (s. Anhang). Wenn der Benutzer die Größe des Fenster ändert, soll die relative Größe und Position der Panels beibehalten werden.
Muss ich dazu selbst auf das Verändern der Größe reagieren oder ist es möglich, den gewünschten Effekt durch die richtigen Einstellungen an den Docking-, Align-, Anchor-Properties etc. zu erzielen?
Miniaturansicht angehängter Grafiken
dp_128.gif  
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Benutzerbild von S - tefano
S - tefano

Registriert seit: 16. Dez 2002
Ort: Dülmen
477 Beiträge
 
Delphi 2009 Professional
 
#2

Re: Frage zu Oberflächendesign: Ausrichtung

  Alt 28. Jan 2004, 19:45
Hi,

da solltest du mit Aligns arbeiten.
Das untere Panel auf Bottom, das Links-Oben auf Left und das dritte auf Client.
Das bewirkt, dass das linke und das untere Panel immer da bleiben wo sie sind, und bei einer Formvergrößerung automatisch angepasst werden.
Das dritte Panel belegt dann immer den Platz der dabei übrig bleibt, wird also auch angepasst.
Die Positionen bleiben soweit gleich, weil beim Resizen nur die Panels beeinflusst werden die mit der unteren und rechten Seite der Form in Kontakt sind.
Mit den Aligns (Properties der Panels im OI) würd ich einfach mal rumspielen. Den Trick dahinter hat man recht schnell raus.

Bis dann,

S - tefano
"Sir, we are surrounded!" - "Excellent, we can attack in every direction!"
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Frage zu Oberflächendesign: Ausrichtung

  Alt 28. Jan 2004, 19:54
So ähnlich hatte ich das schon vorher, aber das ist nicht das, was ich will. Die Panels links-oben und unten behalten ihre absolute Größe, nur das rechte Panel passt seine Größe an. Ich will, aber dass alle Panels ihre Größe anpassen.

Also ein Beispiel:

Das linke Panel bekommt beim Designen die Breite 300, was 50% der Formbreite ausmacht.
Das untere bekommt die Höhe 50, was 10% der Höhe ausmacht. Das Formular hat also die Ausmaße 600x500.

Wenn nun die Größe auf 300x250 verändert wird, soll das linke Panel 150 breit sein und das untere 25 hoch.

Ist sowas möglich, ohne eigenen Code zu schreiben?
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Benutzerbild von S - tefano
S - tefano

Registriert seit: 16. Dez 2002
Ort: Dülmen
477 Beiträge
 
Delphi 2009 Professional
 
#4

Re: Frage zu Oberflächendesign: Ausrichtung

  Alt 28. Jan 2004, 20:09
Was meinst du mit "so ähnlich"?
Wenn du es mit den Aligns machst kann es eigentlich garnicht sein dass das untere Panel seine Größe so behält wie es ist. Es muss dann doch breiter werden wenn du das Fenster bspw nach Rechts vergrößerst.
Aber sag erstmal wie genau du es vorher gemacht hast.

Bis dann,

S - tefano
"Sir, we are surrounded!" - "Excellent, we can attack in every direction!"
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Frage zu Oberflächendesign: Ausrichtung

  Alt 28. Jan 2004, 20:13
Na ja, vorher hatte ich align vom rechten Panel auf alRight stehen - dann entstand eine Lücke.

Die Breite des unteren Panel passt sich ja an, aber nicht die Höhe! Die bleibt auf dem gleichen absoluten Pixelwert.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Benutzerbild von S - tefano
S - tefano

Registriert seit: 16. Dez 2002
Ort: Dülmen
477 Beiträge
 
Delphi 2009 Professional
 
#6

Re: Frage zu Oberflächendesign: Ausrichtung

  Alt 28. Jan 2004, 20:18
Dann würde ich über das Bottompanel einen Splitter legen, der dann auch das Bottom-Align hat.
Wenn du den auf Invisible schaltest oder die Breite 0 setzt, dann ist der nicht mehr da und bleibt wo er ist. Dadurch bleibt das Top des Bottompanels wo es ist und bei einer Höhenveränderung der Form passt sich auch die Height des Panels an.
Wenn ich mich nicht irre jedenfalls.

Bis dann,

S - tefano
"Sir, we are surrounded!" - "Excellent, we can attack in every direction!"
  Mit Zitat antworten Zitat
Benutzerbild von gothic_mike
gothic_mike

Registriert seit: 2. Okt 2003
Ort: Olbernhau
134 Beiträge
 
Delphi 7 Personal
 
#7

Re: Frage zu Oberflächendesign: Ausrichtung

  Alt 29. Jan 2004, 05:59
Moin,

Zitat von Chewie:
Ich versuche gerade, eine Oberfläche so zu gestalten, dass sie auch beim Resizen die gleichen Proportionen beibehält. Konkret heißt das, ich habe zunächst drei Panels, die folgendermaßen angeordnet sind (s. Anhang). Wenn der Benutzer die Größe des Fenster ändert, soll die relative Größe und Position der Panels beibehalten werden.
Muss ich dazu selbst auf das Verändern der Größe reagieren oder ist es möglich, den gewünschten Effekt durch die richtigen Einstellungen an den Docking-, Align-, Anchor-Properties etc. zu erzielen?
sowas hatte ich neulich auch mal, ich habe die größen für die panels jedesmal neu ausgerechnet.
Mal sehen, ob ich das jetzt so auf die schnelle hinbekomme:
panel1.align:=alBottom;
panel2.align:=alLeft;
panel3.align:=alRight;

Delphi-Quellcode:
procedure TForm1.FormCanResize(Sender: TObject; var NewWidth, NewHeight: Integer; var Resize: Boolean);
var
  faktor: real;
begin
  faktor := Height / NewHeight;

  panel2.Height := round(panel2.Height / faktor);
  panel3.Height := panel2.Height;
  panel1.Height := round(panel1.Height / faktor);
  
  Resize := True;
end;
hab's leider nicht getestet, da ich grad kein delphi hier hab, aber müsste so klappen...
bye4now, gothic_mike
. ..: carpe noctem :: coding in the darkness :.. .
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Frage zu Oberflächendesign: Ausrichtung

  Alt 29. Jan 2004, 15:59
@S-tefano:
Leider behält das untere Panel seine Höhe bei, der Splitter ändert also hier nix.

@gothic-mike:
Dass es mit einer Ereignisbehandlungsroutine für das Resize-Event geht, war mir klar, aber ich wollte es ja gerade ohne eigenen Code, nur mit Einstellungen im OI, machen.

Aber es hat den Eindruck, dass das nicht möglich ist. Schade.

Ich lass die Frage aber noch als "nicht beantwortet" stehen, vielleicht kommt ja noch einer, der eine Lösung kennt.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Benutzerbild von shareholder
shareholder

Registriert seit: 1. Nov 2003
Ort: Denmark, Lolland, Marielyst
280 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Frage zu Oberflächendesign: Ausrichtung

  Alt 29. Jan 2004, 18:40
Zitat von Chewie:
Muss ich dazu selbst auf das Verändern der Größe reagieren oder ist es möglich, den gewünschten Effekt durch die richtigen Einstellungen an den Docking-, Align-, Anchor-Properties etc. zu erzielen?
anchors du sagst es

EDIT:

Zitat:
gleichen Proportionen
ups, sorry. hatte das überlesen !!!
Mastdarmpapillenentzündung ist cool
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: Frage zu Oberflächendesign: Ausrichtung

  Alt 29. Jan 2004, 18:43
Zitat von shareholder:
anchors du sagst es
Könntest du mir auch sagen, wie ich die Anchors setzen muss? Bei meinem Versuch hat das nicht ganz so geklappt, wie ich mir das vorgestellt hab.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  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 06:25 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