Button verschieben



  • hi
    ich habe folgendes problem:

    habe einen dialog, der beim drücken eines bestimmten buttons vergrößert wird
    nun sollte auch der ok button im dialog verschoben werden zum unteren rand

    hab das ganze so implementiert:

    CRect buttonrect;

    GetWindowRect(&dlgrect);
    dlgrect.bottom+=LARGE_SMALL_DIFFERENCE;
    MoveWindow(&dlgrect,true);

    m_ButtonOK.GetWindowRect(&buttonrect);
    buttonrect.top+=LARGE_SMALL_DIFFERENCE;
    buttonrect.bottom+=LARGE_SMALL_DIFFERENCE;
    m_ButtonOK.MoveWindow(&buttonrect,true);

    der dialog wird vergrößert nur der button verschwindet ganz (auch wenn man ihn z.b. nur um 1 pixel verschiebt, ist er nicht mehr sichtbar)



  • Versuch es mal mit
    GetDlgItem(IDC_BUTTON)->SetWindowPos(...);
    Das müsste funktionieren.



  • MoveWindow verlangt die Koordinaten, die Dein Button innerhalb seines Parents hat. Mit GetWindowRect holst Du Dir die Koordinaten des Screens, diese müssen also mit ScreenToClient noch auf Dialogkoordinaten umgerechnet werden!


Anmelden zum Antworten