AcvieX
void CActiveXCtrl::OnDraw( CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid) { CBrush bursh(TranslateColor(GetBackColor())); pdc->FillRect(rcBounds, &bursh); pdc->SetTextColor(TranslateColor(GetForeColor())); pdc->SetBkMode(TRANSPARENT); CTime tm = CTime::GetCurrentTime(); CString str = tm.Format("%H-%M-%S"); pdc->TextOut(0,0,str); } void CActiveXCtrl::OnTimer(UINT nIDEvent) { Invalidate(); COleControl::OnTimer(nIDEvent); } int CActiveXCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (COleControl::OnCreate(lpCreateStruct) == -1) return -1; SetTimer(1,1000,NULL); return 0; } CActiveCtrl的CPP中, BEGIN_PROPPAGEIDS(CActiveXCtrl, 2) PROPPAGEID(CActiveXPropPage::guid) PROPPAGEID(CLSID_CColorPropPage); END_PROPPAGEIDS(CActiveXCtrl)