Align & Miscedits

Rund um die LCL und andere Komponenten
Antworten
starkard
Beiträge: 87
Registriert: Mi 31. Okt 2007, 10:44

Align & Miscedits

Beitrag von starkard »

Hallo zusammen!

Was mich schon länger nervt und mich dazu bringt mal hier nach einer Meinung zu fragen:

Bei nahezu allen Edits unter Misc, z.b. FileNameEd, DirectoryEdit etc., fällt der Glyphbutton aus dem Rand des Owners heraus so das er nicht mehr sichtbar, wenn man Align aktiviert. Das kann nicht gewollt sein oder? Wie könnte man dieses Problem am elegantesten lösen?

Positioniere fast alle Edits mit Align und würde deshlab gerne auf Anchors/Constraints soweit es geht verzichten.

Danke

Socke
Lazarusforum e. V.
Beiträge: 3178
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Align & Miscedits

Beitrag von Socke »

starkard hat geschrieben:Hallo zusammen!

Was mich schon länger nervt und mich dazu bringt mal hier nach einer Meinung zu fragen:

Bei nahezu allen Edits unter Misc, z.b. FileNameEd, DirectoryEdit etc., fällt der Glyphbutton aus dem Rand des Owners heraus so das er nicht mehr sichtbar, wenn man Align aktiviert. Das kann nicht gewollt sein oder? Wie könnte man dieses Problem am elegantesten lösen?

Positioniere fast alle Edits mit Align und würde deshlab gerne auf Anchors/Constraints soweit es geht verzichten.

Danke
Align verwendet die Anker (Anchors), ohne die gehts nicht (außer du benutzt ChildSizing des Parents).
Zur korrekten Positionierung müsste man auf den Button zugreifen. Der ist in TCustomEditButton aber protected ergo nicht erreichbar. Borderspacing bring auch nichts, da Abstand zwischen Edit und Button.
Lösung wäre: eigene Komponente basteln. Da kannst du entweder die Komponenten einfach nachbauen oder du erstellst ein Komponente, die einfach ein TCustomEditButton enthält.

Die einfachste Variante für das GUI-Design wäre es wahrscheinlich, jedes Edit-Feld auf ein Panel zu legen (muss aber exakt positioniert und verankert werden) und dann das Panel an die richtige Seite zu schieben.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

Mattias
Lazarusforum e. V.
Beiträge: 184
Registriert: Do 22. Mai 2008, 15:14
OS, Lazarus, FPC: LinuxOSX (L head FPC head)
CPU-Target: xxBit

Re: Align & Miscedits

Beitrag von Mattias »

Ja, ein Panel waere die sauberste Loesung.

Um existierenden Code nicht zu gefaehrden:
Es muessten dann noch die gaengisten properties und Methoden angepasst werden, so dass das panel sich bedienen laesst wie ein TEdit.

Benutzeravatar
theo
Beiträge: 10904
Registriert: Mo 11. Sep 2006, 19:01

Re: Align & Miscedits

Beitrag von theo »

Würde man nicht besser gleich in der LCL dem TCustomEditButton ein TCustomControl (oder TGraphicControl?) zugrunde legen?
Dieses Verhalten ist doch nicht korrekt und man sollte dabei imho nicht auf bestehenden Code Rücksicht nehmen.

Antworten