一个控件添加属性后 属性会出现在控件的接口中
在下拉列表中出现的属性 都是标准属性
为了显示出属性效果添加以下代码 功能是以背景色填充背景 以前景色写文字
void CMy0705BCtrl::OnDraw(
<span> </span>CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid)
{
<span> </span>if (!pdc)
<span> </span>return;
<span> </span>// TODO: Replace the following code with your own drawing code.
<span> </span>//pdc->FillRect(rcBounds, CBrush::FromHandle((HBRUSH)GetStockObject(WHITE_BRUSH)));
<span> </span>//pdc->Ellipse(rcBounds);
<span> </span>COLORREF color=this->TranslateColor(this->GetBackColor());
<span> </span>CBrush brush(color);
<span> </span>pdc->FillRect(rcBounds,&brush);<span> </span>//区域填充背景色
<span> </span>color=this->TranslateColor(this->GetForeColor());
<span> </span>pdc->SetBkMode(TRANSPARENT);<span> </span>//文字背景透明(不设置文字会有自己的小背景)
<span> </span>pdc->SetTextColor(color);<span> </span>//文字使用前景色
<span> </span>CTime time=CTime::GetTickCount();
<span> </span>CString str=time.Format("%H:%M:%S");
<span> </span>int x=rcBounds.Width()/2-30;
<span> </span>int y=rcBounds.Height()/2-4;
<span> </span>;
<span> </span>pdc->TextOutW(x,y,str);
}
在Ctrl.cpp中修改以下代码 功能是新增一个属性页 (属性页会在调试容器中 edit->prperty 中看到)
// TODO: Add more property pages as needed. Remember to increase the count!
BEGIN_PROPPAGEIDS(CMy0705BCtrl, 2) //+++++ 1->2
PROPPAGEID(CMy0705BPropPage::guid)
PROPPAGEID(CLSID_CColorPropPage) //+++++
END_PROPPAGEIDS(CMy0705BCtrl)
编译用容器打开这个控件