![]() |
Höhe nicht zugewiesen?
Hallo,
gegeben ist eine VCL Form. Auf dieser liegt ein Panel und im Panel ein TImage, Client aligned. In einem OnMouseEnter Event eines anderen Steuerelementes wird ein neues Bild in das TImage geladen (das Panel ist da noch Visible = false) und die Größe des Panels angepasst, je nach Höhen/Seitenverhältnis des Bildes. Danach wird das Panel auf Visible gesetzt. Beim ersten Durchlauf passt alles. Wird dann später ein Bild mit anderen Dimensionen reingeladen stimmt das nicht mehr, weil das Panel/TImage ja schon beim vorherigen Durchlauf in der Größe geändert wurde. Ok, dachte ich, merkst du dir einfach im OnShow Event der Form die ursprünglichen Größen gemerkt. In diesem OnMouseEnter wollte ich dann Width und Height wieder auf diese Werte zurücksetzen. Hat aber nicht funktioniert. Nach Zuweisung der Höhe war im Panel immer noch die alte drin. Daher hab' ich einfach mal das Image freigegeben, denn einen anderen Weg es zu "leeren" fand ich nicht und hab' es neu erzeugt und initialisiert. Nur: das bringt auch nix. Siehe folgenden Codeauszug:
Delphi-Quellcode:
Man sieht es sowohl zur Laufzeit als auch mit dem Debugger...
i_LogoPreview.Free;
i_LogoPreview := TImage.Create(p_Logo); i_LogoPreview.Parent := p_Logo; // p_Logo ist das Panel i_LogoPreview.Align := alClient; p_Logo.Width := FOrigImgPreviewWidth; p_Logo.Height := FOrigImgPreviewHeight; // Warum ändert sich die Größe des Panels hier nicht? p_Logo.Invalidate; p_Logo.Repaint; Grüße TurboMagic |
AW: Höhe nicht zugewiesen?
Ohne mehr Details lässt sich dazu wenig sagen, denn der Quelltext an sich ist sicher nicht das Problem.
Kannst du vielleicht alles andere aus dem Formular rauswerfen, damit du es hier posten kannst? Das sollte bei der Konstellation doch möglich sein, denn wenn ich es richtig verstehe, musst du ja noch nicht einmal ein Bild laden, sondern es reicht schon die Größenänderung. Oder es lässt sich irgendwann nicht mehr reproduzieren und du findest das Problem so. |
AW: Höhe nicht zugewiesen?
AutoSize? :stupid:
Ansonsten: Zitat:
|
AW: Höhe nicht zugewiesen?
Ja, AutoSize war der Übeltäter ;-)
Danke! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:18 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 by Thomas Breitkreuz