Anwendung an versch. Auflösungen und Größenänderungung anpassen



  • Hallo leute,

    ich möchte meine anwendung an verschiedene auflösungen anpassen, und auch wenn jemand die größe des formulars ändert, sollen sich die komponenten daraufhin anpassen...

    mein versuch zur auflösung:

    void __fastcall TForm1::FormCreate(TObject *Sender)
    {
    Form1->Top = Screen->WorkAreaTop;
    Form1->Left = Screen->WorkAreaLeft;
    Form1->Height = Screen->WorkAreaHeight;
    Form1->Width = Screen->WorkAreaWidth;
    
    Edit1->Width = Form1->Width/7;        //immer selbe größe im vergleich zur form
    StringGrid1->Left = Form1->Left+10;  //immer selbe position
    }
    

    funktionieren tuts, aber ist es so auch eine gute lösung?

    und nun zum ändern der größe des forms:

    void __fastcall TForm1::FormResize(TObject *Sender)
    {
    Edit1->Width = Form1->Width/7;
    }
    

    sollte man das so amchen?

    Natürlich noch Anchors alle auf true gestellt...



  • Wenn du die Anchors entsprechend setzt, brauchst du dich doch gar nicht mehr um die Grössenänderung kümmern.
    Es sei denn, du willst was spezielles.
    😃



  • Hallo

    normalerweise kann man in den meisten Fällen durch sinnvollen Einsatz der Eigenschaften Align, Constraints und Anchors jedes manuelle Resizen vermeiden.
    Auch das Gruppieren von Controls in Panels/GroupBoxes hilft, das Design zu automatisieren.

    Wenn allerdings das alles nicht passt, kommst du um solche Rechnungen nicht umhin.

    bis bald
    akari


Anmelden zum Antworten