Я подклассифицировал графический элемент управления, который принимает дескриптор контекста устройства, HDC, и использует его для рисования.Мой новый элемент управления - это просто исходный элемент управления, центрированный поверх большого изображения.Я хотел бы иметь возможность вызывать метод Draw () исходного элемента управления для повторного использования кода, но я не уверен, что делать дальше.
Вот идея:
void CCheckBox::DrawCtrl( HDC hdc, HDC hdcTmp, LPSIZE pCtlSize, BYTE alpha ) {
// original method draws a checkbox
}
void CBorderedCheckBox::DrawCtrl( HDC hdc, HDC hdcTmp, LPSIZE pCtlSize, BYTE alpha ) {
// Draw my image here
// Create new hdc2 and hdcTemp2 which are just some portion of hdc and hdcTemp
// For example, hdc2 may just be a rectangle inside of hdc that is 20 pixels
// indented on all sides.
// Call CCheckBox::DrawCtrl() with hdc2 and hdcTemp2
}