Size/Resize Handling



  • Hi zusammen,

    hab früher mal was mit Qt gemacht, da gab es sogenannte Layouts, mit denen man Objekte (wie Controls) zusammenfassen konnte. Mit diesen Layouts wurde dann das ganze Skalieren/Sizing gehandelt. Das heißt beim Ändern der Größe des Hauptfenster wird nichts abgeschnitten, sondern die Objekte rücken näher zusammen oder werden selbst kleiner/größer.

    Wie macht man sowas mit MFC? Im Moment ist bei mir alles fix und eine Verkleinerung des Hauptfensters bewirkt ein Abschneiden der Controls.

    Muss ich mit dem OnSize Event jedes einzelne Objekt verändern oder gibt es da auch Mechanismen, die das für einen übernehmen?

    Und wie könnte ich die Größe/Position einer Ressource aus dem rc-file ändern (wenn es STATIC ist)?

    Gruß,
    Sed


  • Mod

    Automatismen gbt es hier nicht.

    Jedes Fenster muss für seinen eigenen Inhalt sorgen und anpassen wie es das für richtiog hält.

    Also musst Du einen WM_SIZE Handler einbauen in dem entsprechenden Fenster und dann das machen was Du denkst. Also evtl. Fonts, Skalierung oder sonst was ändern.



  • hmm doof.

    vielen dank für die info 🙂



  • Da steht auch noch ein bißchen was dazu:
    http://www.c-plusplus.net/forum/viewtopic-var-t-is-39118.html



  • Vielleicht hilft jemandem auch das hier noch:

    http://www.codeproject.com/kb/dialog/resizabledialog.aspx

    Ich habe jetzt ein weiteres Problem 😕
    In Visual Studio über den "Designer" erstelle ich ein Dialog mit einer Groupbox, die zB 100 pixel(?) breit ist. Wenn ich nun das Programm starte, ist die Groupbox plötzlich 150 pixel breit. Wie kommt das?
    Zeigt der Designer tatsächlich Pixelkoordinaten an oder sind das irgendwelche andere Koordinaten? Irgendeine Unterscheidung in physikalische, logische oder sonst welche Koordinaten?

    Der Faktor für die x-Achse ist immer ziemlich genau 1,5 und für die y-Achse etwas höher mit ~1,6...


Anmelden zum Antworten