Idee zu Ankern

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
MacWomble
Lazarusforum e. V.
Beiträge: 999
Registriert: Do 17. Apr 2008, 01:59
OS, Lazarus, FPC: Mint 21.1 Cinnamon / FPC 3.2.2/Lazarus 2.2.4
CPU-Target: Intel i7-10750 64Bit
Wohnort: Freiburg

Idee zu Ankern

Beitrag von MacWomble »

Wäre es nicht sinnvoll, wenn man bei Ankern auch einen negativen Abstand einstellen könnte?

Hintergrund:

Man könnte dann Labels (L) mit z.B. Edit (E)-Feldern so verankern, dass diese (die Labels bei mehreren Zeilen) zueinander linksbündig sind. Momentan werden die Label rechtsbündig ausgerichtet, was unruhig aussieht.

Code: Alles auswählen

LLLLL                 EEEEE
LLLLLLLLL             EEEEE
LLL                   EEEEE
Alle sagten, dass es unmöglich sei - bis einer kam und es einfach gemacht hat.

Michl
Beiträge: 2505
Registriert: Di 19. Jun 2012, 12:54

Re: Idee zu Ankern

Beitrag von Michl »

Kannst du etwas näher erklären, was du machen willst und warum das nicht mit den vorhandenen Möglichkeiten geht?

In dem beschriebenen Fall ordne ich meine Label immer linksbündig an, wobei das längste Label, die linke Anchorseite vom Edit vorgibt. Ich hatte da bisher keine Probleme.

Bsp. und Bild, wie ich es verstanden hatte anbei.

PS: für dynamisch erstellte bzw. wenn die Labels in der Länge variieren können (bei z.B. Übersetzungen), hatte ich mir eine Funktion geschrieben, die automatisch das Label sucht, nach dem die linke Seite vom ersten TEdit ausgerichtet wird.
Dateianhänge
BspAnordnung.png
BspAnordnung.png (2.77 KiB) 1249 mal betrachtet
BspAnordnung.zip
(1.95 KiB) 47-mal heruntergeladen

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 

MacWomble
Lazarusforum e. V.
Beiträge: 999
Registriert: Do 17. Apr 2008, 01:59
OS, Lazarus, FPC: Mint 21.1 Cinnamon / FPC 3.2.2/Lazarus 2.2.4
CPU-Target: Intel i7-10750 64Bit
Wohnort: Freiburg

Re: Idee zu Ankern

Beitrag von MacWomble »

Ja, so geht es auch. Mein Gedanke war, den Label an das Edit zu binden (ist griffiger), aber natürlich geht es auch umgekehrt ....
Alle sagten, dass es unmöglich sei - bis einer kam und es einfach gemacht hat.

Requion
Beiträge: 106
Registriert: Mi 3. Feb 2016, 09:39
OS, Lazarus, FPC: Linux(Arch Linux(+ARM)/Minibian) (L 1.6.0 FPC 3.0.0)
CPU-Target: 32/64Bit,ARM(RPi)
Wohnort: nahe Grimma

Re: Idee zu Ankern

Beitrag von Requion »

Ich mach das auch immer wie Michl. Wenn man weiß wie man die Anker richtig einsetzt dann reicht das vollkommen aus so wie es jetzt ist.

Du könntest allerdings auch schauen ob dir die Labeled Edits gefallen. Die hab ich selbst aber im Lazarus noch nicht verwendet. Nur mal zu Testzwecken im Delphi auf Arbeit.

http://lazarus-ccr.sourceforge.net/docs/lcl/extctrls/tlabelededit.html
Mfg Requion

Das beste an Standards ist, dass es so viele davon gibt.

hubblec4
Beiträge: 341
Registriert: Sa 25. Jan 2014, 17:50

Re: Idee zu Ankern

Beitrag von hubblec4 »

Ich finde LableEdits auch ganz toll, und in neueren Projekten verwende ich auch nur noch diese, ausser es passt mal nicht.

Mit den Ankers und deren doch recht größen Möglichkeiten hatte ich anfangs meine Schwierigkeiten. Jetzt nutze ich die weitesgehend da man sich auch viel Quellcode spart für komplexere "Ver-Ankerungen".

hubble

wp_xyz
Beiträge: 4889
Registriert: Fr 8. Apr 2011, 09:01

Re: Idee zu Ankern

Beitrag von wp_xyz »

Hier ist ein Beispiel, bei dem negative Anchor-Abstände sinnvoll wären:

Das Formular enthält drei unterander verankerte Buttons. Diese Gruppe soll von einem Bevel umrandet werden. Das Bevel ist mit der linken, oberen und rechten Seite des obersten Buttons, und der Unterseite des untersten Buttons verankert. Abstand ist 0, d.h. das Bevel liegt direkt an den Buttons an.

Möchte man nun etwas Abstand zwischen dem Bevel und den Buttons einbauen, liegt es nahe, die Links-, Oben-, Rechts- und Untenabstände zu vergrößern. Dadurch wandert jedoch das Bevel nach innen, anstatt nach außen. Mit negativen Werten würde es sich wie gewünscht nach außen bewegen.

Dies kann ich umständlich nur mit Hilfe zusätzlicher Spacer realisieren (siehe Buttons 5,6,7)
Dateianhänge
Anchor_negative.zip
(2.08 KiB) 57-mal heruntergeladen

Antworten