Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Höhe nicht zugewiesen? (https://www.delphipraxis.net/214241-hoehe-nicht-zugewiesen.html)

TurboMagic 9. Dez 2023 16:28

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:
    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;
Man sieht es sowohl zur Laufzeit als auch mit dem Debugger...

Grüße
TurboMagic

jaenicke 9. Dez 2023 16:46

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.

himitsu 9. Dez 2023 18:24

AW: Höhe nicht zugewiesen?
 
AutoSize? :stupid:

Ansonsten:
Zitat:

Zitat von jaenicke (Beitrag 1530613)
Ohne mehr Details lässt sich dazu wenig sagen, denn der Quelltext an sich ist sicher nicht das Problem.


TurboMagic 9. Dez 2023 21:39

AW: Höhe nicht zugewiesen?
 
Ja, AutoSize war der Übeltäter ;-)
Danke!


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:29 Uhr.

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