Grafik soll automatisch skaliert werden



  • Hallo, ich habe folgendes Problem:
    Ich habe ein Bild auf meiner Form und wenn ich die Form verkleinere dann soll das Bild auch kleiner werden.
    Wenn ich meine Form verkleinere dann wird einfach ein Teil vom Bild verdeckt.

    Hier ist ein Screenshot wo das Problem zu sehen ist: https://i.ibb.co/hLdmc4S/2.png
    Es ist nur noch ein kleiner Teil vom Bild zu sehen nachdem ich das Fenster kleiner geschoben habe.



  • Ich schätze mal du hast das Bild in einem TImage?
    Dann in der OnResize der Form die Grösse des TImage neu - in Relation zu der Form setzen. TImage->Stretch noch auf true und gut is.



  • Thx habs jetzt hinbekommen.

    Hier nochmal mit Code vielleicht hilft es wem anderes auch nochmal.
    Bei der Form muss unter Ereignisse bei OnResize der Punkt OnCreate ausgewählt werden.

    void __fastcall TForm1::FormCreate(TObject *Sender)
    {
    	Image1->Stretch = true;
    	Image1->Width  = (Form1->Width) - (Image1->Width) / 2.0f;
            Image1->Height = (Form1->Height)- (Image1->Height)/ 2.0f;
    }
    


  • @Bassmaster sagte in Grafik soll automatisch skaliert werden:

    Thx habs jetzt hinbekommen.

    ...
    Bei der Form muss unter Ereignisse bei OnResize der Punkt OnCreate ausgewählt werden.

    ??? Das Ereignis OnCreate wird beim Erzeugen des Formulars ausgelöst.
    -> aus der BCB Hilfe
    FormCreate = 'FensterErstellung' und wird demnach nur einmal, also beim Start ausgeführt.
    Dass dein Bild beim Start jetzt richtig angezeigt wird ist klar, aber was passiert beim späteren vergrössern / verkleinern des Fensters?


Log in to reply