Я делаю унаследованный класс от CDialogBar.
class CMyDialogBar : public CDialogBar
{
DECLARE_DYNAMIC(CMyDialogBar)
// Implementation
public:
BOOL Create(CWnd * pParentWnd, UINT nIDTemplate, UINT nStyle, UINT nID);
BOOL Create(CWnd * pParentWnd, LPCTSTR lpszTemplateName, UINT nStyle, UINT nID);
protected:
virtual void DoDataExchange(CDataExchange* pDX) { return CDialogBar::DoDataExchange(pDX); }
afx_msg BOOL OnEraseBkgnd(CDC* pDC);
DECLARE_MESSAGE_MAP()
};
Единственное большое изменение - это функция OnEraseBkgnd()
, потому что мне нравится, когда фон белый.
BOOL CMyDialogBar::OnEraseBkgnd(CDC* pDC)
{
return TRUE;
}
Это работает ХОРОШО. Однако, когда я перемещаю арматуру вокруг, она перерисовывается неправильно, как показано на рисунке ниже.
![enter image description here](https://i.stack.imgur.com/qzPEE.png)
Исходный код можно скачать здесь: https://138.197.210.223/test/My.zip.