Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   VCL Komponenten, Positionen... Delphi XE (https://www.delphipraxis.net/160768-vcl-komponenten-positionen-delphi-xe.html)

haentschman 30. Mai 2011 20:42

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...

jaenicke 30. Mai 2011 21:05

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?

s.h.a.r.k 30. Mai 2011 21:05

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?

haentschman 30. Mai 2011 21:16

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:

Oder kannst du es vielleicht in einem Demoprojekt reproduzieren um das anzuhängen?
ich weiß, Bilder sagen mehr als Worte... bald ist Feiertag. Da guck ich mal.

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:

s.h.a.r.k 30. Mai 2011 21:42

AW: VCL Komponenten, Positionen... Delphi XE
 
Hat es nun an den beiden Zeilen gelegen, oder hat sich das Problem nun einfach so "verabschiedet"?

haentschman 30. Mai 2011 21:50

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.

haentschman 3. Jun 2011 20:47

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...

Stevie 3. Jun 2011 20:55

AW: VCL Komponenten, Positionen... Delphi XE
 
Zeig mal den dfm code von dem Teil, wenn möglich

haentschman 3. Jun 2011 21:05

AW: VCL Komponenten, Positionen... Delphi XE
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

object pngbtnLogin: TPngBitBtn
Left = 95
Top = 88
Width = 79
Height = 25
Margins.Left = 0
Margins.Top = 0
Margins.Right = 0
Margins.Bottom = 0
Anchors = [akRight, akBottom]
Caption = 'Anmelden'
DoubleBuffered = True
ParentDoubleBuffered = False
Spacing = 0
TabOrder = 2
OnClick = pngbtnLoginClick
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008 060000001FF3FF
610000001974455874536F6674776172650041646F62652049 6D616765526561
647971C9653C000002334944415478DA63FCFFFF3F03258071 7305138A003313
2303071B83312303833D902B0E157E09B4E6E08F5F0C67FFFE FB8FDF00264646
535E61A9344DC744B7672FDE7082C4A42444BE5FDF3F7FD7E7 B7CF66FDFBFFFF
348A01AB8A98D01CC550651B569573FAD09EF7D72E9EDC0312 D0D2377731B573
113CBCAA6D0A90DB8662C086326638E7ED67B0F3A67B2634A5 AD9BD3B4E7D7AF
DFEE20013636D69D4129752EDB17D4CD027233057918191861 061C68841800D2
FAE91B03C3FD97FF167B4795C6EC5CD5BD998D85C1EFED2706 065E2E864D9E11
E5BE9B97742E9112628C0519C0C4886940E6EF3F0C6A67EEFC 95549562FA0274
8D200B33C39FE7EFFE2B8AF2333EFEF78F81F3C3D7FF9FB464 993E7373305E02
1A3019DD806E878C4525BFBF7D67F8F5E307C3AFEF40FCF33B C3FBB7B719D8D9
1818B8382098938785E1C08A85138106146018C0AD995CC2C2 C4C4C0C2C2C2C0
C8C8C4F0F7EF1F86F7EF5F3330039570B00235030DE2E66565 B87B6C257603C8
72C1EE5AB8015D02BAC9A5C4B8E0C6A19513800614820D989F 064F07ED09CD8B
2B8871C1C2FE05DDC04828031BA028CAC8106D0636A0D72F3E B5881817CC9DB4
7C02D080C2A5C034098E4D297E46064F0D860573B6AD88FFFB EB37C31FA00BFE
005DF007E882774017B00135727020707AECEC85DB6F30243C FBF81F6C8010C8
0C47458632493E0641A0335F0BF1337E15126460E2E166E03D 7CFABF34349DC1
53DFABAF0CB7F7DD63980A643E038981320C2F10B3909893FF 00F1670008F9FB
745DCEDB950000000049454E44AE426082}
PngOptions = [pngBlendOnDisabled, pngGrayscaleOnDisabled]
end
die Werte für Top / Left sind mit dem OI identisch.

Die Werte des Bildes sind die Werte zur Laufzeit im OnShow.

Nachtrag: CnPack ist installiert. Ich tippe auf irgend einen "Optimierer"...

Stevie 3. Jun 2011 22:03

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.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:22 Uhr.
Seite 1 von 2  1 2      

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