Buttons verschieben wenn Fenster verändert wird



  • Hallo

    Wie kann ich den button verschieben wenn ich die Fenstergrösse ändere?
    habe schon einenteil vom Code:

    CWnd *jb=this;
    CRect rect;
    CRect button;
    jb->GetWindowRect(&rect);

    button.left=360;
    button.top=282;
    button.right=450;
    button.bottom=button.top+23;

    m_CloseCtrl.MoveWindow(&button);

    Ich weiss aber nicht in welchem teil meines Codes ich diesen Abschnitt aufrüfen muss. kann mir jemand helfen. Danke im voraus.



  • John_Aston schrieb:

    Wie kann ich den button verschieben wenn ich die Fenstergrösse ändere?

    ...

    Ich weiss aber nicht in welchem teil meines Codes ich diesen Abschnitt aufrüfen muss. kann mir jemand helfen. Danke im voraus.

    Du weißt doch, wann du diese Einstellungen erledigen willst, jetzt mußt du nur noch die richtige Behandlungsroutine raussuchen. Und Größenänderungen werden sinnigerweise von der OnSize() behandelt.

    PS: Wieso holst du dir denn erst die Fenstergröße, wenn du dann doch alle Werte des Rects von Hand festlegst?



  • wenn du OnSize aufrufst brauchst du nicht mehr die fenstergroesse holen - OnSize hat die neuen groesen stehts als x und y in den argumente, kannst direkt damit arbeiten

    void CClass::OnSize(UINT nType, int cx, int cy)
    {
        CView::OnSize(nType, cx, cy);
        // rechenoperationen mit der neuen groesse cx und / oder cy
        m_Element.MoveWindow( m_x, m_y, m_x2, m_y2 );
    }
    

  • Mod

    Wenn es Dir um automatisches Resize geht, dann gibt es hierfür im www.codeproject.com unter Dialoge einiges an Resize Code!


Anmelden zum Antworten