【发布时间】:2011-05-31 21:05:36
【问题描述】:
我对一个图形控件进行了子类化,该控件将设备上下文句柄 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
}
【问题讨论】: