Controls resizen (Größeneinheiten) / Größe von Dialog für TabCtrl zuschneiden



  • Hi,
    ich bräuchte mal wieder kompetente Hilfe 🙂
    Ich benutze das VS 10 und erstelle die Dialoge mithilfe des Ressourceneditors

    1. Ich versuche DeferWindowPos zu benutzen und einen Butten z.B. rechts zu halten

    hdwp = DeferWindowPos(hdwp, GetDlgItem(hwnd, IDOK), NULL, rc.right - 21, 7, 75, 14, SWP_NOZORDER);
    

    Das Problem ist, dass mir der Editor anzeigt, dass der Button 75x14 und der Abstand zum Rand 7 ist. Nur ist die Einheit wohl Dialog Units und bei DeferWindowPos dann Pixel. Jetzt komme ich damit nicht klar und versaue mir die Größe und Position der Controls, weil ich nicht genau weiß, welche Werte ich eingeben muss, damit ein Button erst einmal an seiner Position bleibt und dann noch, wie groß der Abstand zum Rand ist, damit er sich mit vergrößert..
    Wie kann ich damit umgehen?..

    2. Ich möchte in einem Tab einen Dialog anzeigen.
    Wie kann ich die Größe des Tabs ermitteln, sodass ich die des Dialogs im Ressourceneditor exakt darauf zuschneiden kann?

    Vielen Dank! 😃


  • Mod

    MapDialogRect rechnet DLUs um.



  • Danke für die Antwort.
    Heißt also, ich muss für jeden Button ein RECT erstellen, deren Werte alle manuell abtippen und dann MapDialogRect ausführen, um das dann in Pixeln herauszubekommen, womit ich weiter arbeiten kann?

    Ähm, hättest du denn auch einen Tipp zur Frage Nr. 2 aus dem ersten Post?
    Danke!


  • Mod

    Vielleicht solltest Du Dir mal PropertySheets und PropertyPages ansehen...

    Ansonsten verstehe ich Dein Frage nicht was Dein RECTs angehen?
    Wo liegt das Problem? Du hast doch ein Ressourcen-Template in dem man "normalerweise" seine Controls anlegt.


Anmelden zum Antworten