![]() |
VCL Komponenten, Positionen... Delphi XE
Hallo alle miteinander...
gestern ist es mir mal so richtig aufgefallen... Gegeben ein Panel, darauf 5 TEdit, alle aneinander horizontal. (kein Pixel Platz dazwischen) Zur Designzeit alles in Ordnung. Zur Laufzeit war immer ein Edit nach oben links etwa 2 Pixel versetzt. Habe ich das betroffene zur Designzeit ausgeschnitten und wieder eingesetzt wurde es zur Laufzeit richtig positioniert. Dafür tanzte ein anderes aus der Reihe :evil: Nach zig Versuchen hab ich dann das betroffene zur Laufzeit an das vorhergehende positioniert... und gut. Desweiteren habe ich auf einem Panel 2 Buttons, welche ich mit 1 Pixel Abstand zum Rand positioniert sind. Zur Laufzeit sind sie immer 3 oder 4 Pixel vom Rand weg. Margins auf 0 setzen brachte keine Änderung. Dazu kommt noch, daß ein anderer Button ab und zu mal komplett wo anders steht. Fazit: Ich kann mich nicht darauf verlassen, daß die Designzeit mit der Laufzeit identisch ist. Kennt jemand solche Probleme auch ? :hi: Danke... |
AW: VCL Komponenten, Positionen... Delphi XE
Sowas passiert eigentlich nur bei widersprüchlichen Anchors-Angaben oder ähnlichem. :gruebel:
Oder kannst du es vielleicht in einem Demoprojekt reproduzieren um das anzuhängen? |
AW: VCL Komponenten, Positionen... Delphi XE
Panel oder Edit sind nicht selbst geschrieben oder Drittkomponenten? Wenn ja, dann würde ich mal im Source nachschauen, was zur Laufzeit ausgeführt werden könnte.
Ansonsten schau einfach mal in dei DFM-Datei rein, was da so drin steht. Vielleicht steckt da ja ein Fehler drin? Oder hast du bei Align was anders als alNone? |
AW: VCL Komponenten, Positionen... Delphi XE
Danke für die Tipps...
- TPanel alNone - TEdit 3 rechts...Alignment RightJustify die 2 vorn LeftJustify (ist ja nur der Inhalt) von den 5 werden im OnResize 2 breitentechnisch angepaßt. Die restlichen 3 sind mit Anchor Right rechts angeheftet. Bei diesen 3 tritt das auf. IM OI sind die Werte für Top identisch. Zitat:
Sooo...ich beantrage dann mal Rente :roll: Ich hab die 2 Quelltextzeilen für die nachträgliche Positionierung auskommentiert um einen Screenshot zu machen... alles da wo es sein soll ! Gestern hab ich 3 Stunden mit dem Kram verbracht. Man muß dem XE erst mit der DP drohen daß das funktioniert :thumb: |
AW: VCL Komponenten, Positionen... Delphi XE
Hat es nun an den beiden Zeilen gelegen, oder hat sich das Problem nun einfach so "verabschiedet"?
|
AW: VCL Komponenten, Positionen... Delphi XE
wenn ich das wüßte...Ich kann es nicht erklären. :roll:
Die 2 Zeilen waren nur dafür da den Top- Linksversatz des abtrünnigen Edits auszugleichen. |
AW: VCL Komponenten, Positionen... Delphi XE
Liste der Anhänge anzeigen (Anzahl: 2)
Guten Abend... :hi:
ich wärme das ganze nochmal auf, da ich einen abtrünnigen Button fotografisch festhalten konnte... 8-) -> zur Laufzeit ist der Button nach oben und ganz wenig nach links versetzt. Desweiteren hatte ich heute ein Memo was ca. 100 Pixel schmaler geworden war... usw. :? Für so einen Quatsch hab ich zu wenig Zeit :evil: Danke für Tipps... |
AW: VCL Komponenten, Positionen... Delphi XE
Zeig mal den dfm code von dem Teil, wenn möglich
|
AW: VCL Komponenten, Positionen... Delphi XE
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Die Werte des Bildes sind die Werte zur Laufzeit im OnShow. Nachtrag: CnPack ist installiert. Ich tippe auf irgend einen "Optimierer"... |
AW: VCL Komponenten, Positionen... Delphi XE
Auch, wenn ich cnPack gern dafür verantwortlich machen würde (wär immerhin nicht das erste mal, dass es irgendwas kaputt macht) denke ich, es liegt irgendwo im Source Code. TPngBitBtn ist immerhin keine Delphi eigene Komponente, da weiß man nie. Versuchs mal spaßeshalber mit nem normalen TBitBtn, ob der auch rumzickt. Ansonsten eingrenzen und Debuggen, irgendwo müssen die falschen Werte ja herkommen. Denn eigentlich sollten sie so aus der dfm geladen werden. Danach scheint irgendwo was "nachkorrigiert" zu werden.
Oh halt! Grad, als ich auf Post klick, seh ich's! Deine Anchors. Kein Wunder, dass der Button nach links oben wandert. |
AW: VCL Komponenten, Positionen... Delphi XE
Danke Stevie für dein Mitgefühl...
auch ohne Anchors ist es das Gleiche. Ich hab schon sämtliche Einstellungen durch. Eben hab ich wieder 2 Buttons auf die originale Position zurückbeordert. Ich muß ständig die GUI kontrollieren. :evil: PS: auch normale Delphi Eigene verändern sich in den Properties. (Positionen... TEdit, Größe... TMemo) Es macht einfach keinen Spaß ! |
AW: VCL Komponenten, Positionen... Delphi XE
Sooo...
überall wo das Phänomen auftritt sind TPanel, TTabSheet im Spiel. Die Anmeldung liegt auf einem Panel... bis: pnlLogin.Visible:= True; ... sind die Werte des Buttons wie in der DFM oder OI. Nach Visible ist der Button verschoben :shock: Was bitte kann das Panel verändern ? Nachtrag: Wenn ich den BevelKind im Designmodus ändere, rücken die anderen Controls entsprechend nach (Flat --> None) ... der Button bleibt stehen. :gruebel: |
AW: VCL Komponenten, Positionen... Delphi XE
Kannst du mal nen Minimalbeispiel zusammenstellen und hier posten, in dem es reproduzierbar ist?
P.S.: Ist es so, dass der Button nicht auf dem Panel liegt? (überprüf das mal im Structure Fenster) Durch den BevelKind verändert sich die Postion der Controls auf dem Panel, weil diese sich an dem innereren Rechteck orientiert, welches durch unterschiedliche Beveleinstellungen minimal verändert. Controls, welche nicht auf dem Panel liegen sind davon verständlicherweise nicht betroffen und dadurch entsteht diese Verschiebung. |
AW: VCL Komponenten, Positionen... Delphi XE
Moin Stevie... :hi:
Da der Button mit dem Panel Ein- und Ausgeblendet wird, gehe ich davon aus, daß der Parent des Buttons das Panel ist. Ich hab noch mal ein wenig experimentiert. Wenn ich BevelKind auf None setze bleiben die Controls wo sie sind. Ich werde das mal beobachten. Ich schau mal ob ich ein Muster hinkriege... Ein schönes Wochenende... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:30 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz