regsvr32 /u....卸載控件
STDAPI DllRegisterServer(void)將控件信息寫入注冊表中
STDAPI DllUnregisterServer(void)卸載注冊信息。
製作一個時間控件,在
void CClockCtrl::OnDraw(CDC* pdc, const CRect& rcBounds,
const CRect& rcInvalid)中添加以下代碼:
CBrush brush(TranslateColor(GetBackColor()));
pdc->FillRect(rcBounds,&brush);
pdc->SetBkMode(TRANSPARENT);
pdc->SetTextColor(TranslateColor(GetForeColor()));
//為控件設置屬性,必須在MFC ClassWizared中為控件添加屬性,上麵幾 //行代碼才有用
CTime time=CTime::GetCurrentTime();
CString str=time.Format("%H : %M : %S");
pdc->TextOut(0,0,str);
這樣就能做出一個靜態的時間控件,如果我們想使控件實時顯示時間,需要添加兩個消息響應函數 WM_CREATE,WM_TIMER.
代碼:
int CClockCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (COleControl::OnCreate(lpCreateStruct) == -1)
return -1;
// TODO: 在此添加您專用的創建代碼
SetTimer(1,1000,NULL);
return 0;
}
void CClockCtrl::OnTimer(UINT nIDEvent)
{
// TODO: 在此添加消息處理程序代碼和/或調用默認值
Invalidate(); //立即引起窗口重繪
//也可以使用InvalidateControl(); //強製窗口重繪,效果相同
COleControl::OnTimer(nIDEvent);
}
要修改控件的背景色前景色和字體顏色
在OnDraw中添加
CBrush brush(TranslateColor(GetBackColor()));
pdc->FillRect(rcBounds,&brush);
pdc->SetBkMode(TRANSPARENT);
pdc->SetTextColor(TranslateColor(GetForeColor()));
ActiveX控件的四種屬性
Stock:為每個控件提供的標準屬性,如字體或顏色。
Ambient:圍繞控件的環境屬性——已被置入容器的屬性。這些屬性不能被修改,但控件可以使用它們調整自己的屬性。