2016-11-25 2 views
0

Ich versuche, eine benutzerdefinierte Schaltfläche zu verschieben, deren Basisklasse CWnd ist, benutze MoveWindow() -Methode, aber jedes Mal, wenn ich das Fenster verschiebe, ist das zuvor gezeichnete Fenster immer noch sichtbar. Ich habe versucht, InvalidateWindow, InvalidateRect zusammen mit UpdateWindow im übergeordneten Fenster aufzurufen, aber alle haben nicht funktioniert. Ich habe auch versucht, RedrawWindow nichts passiert. Wie kann ich das Elternfenster mit der neuen Position der Schaltfläche richtig aktualisieren? hier ist mein BeispielcodeLöschen zuvor gezeichnetes Fenster in MFC

void CCalendarCtrl::Shift() 
{ 
    RECT rc; 
    m_Up.GetWindowRect(&rc); 
    rc.top -= 20; 
    rc.bottom -=20; 
    m_Up.MoveWindow(&rc,TRUE); 
    RedrawWindow(); 

} 

Antwort

Verwandte Themen