我正在尝试更改我的 MFC CPropertySheet 对象的一些颜色。我可以更改我想要的所有区域的颜色。但是,我仍然无法控制一个区域。这是我的代码得到的图像。
如您所见,我可以使用下面的代码在顶部和左侧边距上绘制一个细边框。
void CEasyPropertySheet::Draw_Borders(CDC* pDC)
{
// I check how many lines of tabs the control has.
CTabCtrl* pTab = this->GetTabControl();
int lines = pTab->GetRowCount();
// I get the rect I want to define the borders of the control.
CRect rect; this->GetClientRect(rect);
pDC->FillSolidRect(rect, GENERIC_BACKGROUND_COLOR);
// I draw the border in 2 steps. First of all I fill one rect with the border color.
// After that, I deflect the rect and I filled again using the background color I want.
rect.DeflateRect(0, 19 * lines, 0, 0);
pDC->FillSolidRect(rect, GENERIC_BORDER_COLOR);
rect.DeflateRect(1, 1);
pDC->FillSolidRect(rect, PROPERTYPAGE_BACKGROUND_COLOR);
}
但是,我不能使用相同的方法来绘制其他的(底部和右侧边框)。我认为我使用的矩形比屏幕上显示的要大,但我不知道该怎么做才能得到那个矩形。
有人知道该怎么做吗?