1.開發:
其他部分省略:
void CActiveXCtrl::OnDraw(
CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid)
{
// TODO: Replace the following code with your own drawing code.
OLE_COLOR ole_color_back=GetBackColor();
OLE_COLOR ole_color_for=GetForeColor( );
COLORREF color_back=TranslateColor(ole_color_back);
COLORREF color_for=TranslateColor(ole_color_for);
CBrush brush(color_back);
pdc->FillRect(rcBounds,&brush);
pdc->SetBkMode(TRANSPARENT);
pdc->SetTextColor(color_for);
CTime time=CTime::GetCurrentTime();
CString str=time.Format("%H:%M:%S");
pdc->TextOut(0,0,str);
}
void CActiveXCtrl::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
Invalidate(); //也可以用COleControl::InvalidateControl
COleControl::OnTimer(nIDEvent);
}
int CActiveXCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct) // 重載ON_CREATE訊息
{
if (COleControl::OnCreate(lpCreateStruct) == -1)
return -1;
SetTimer(1,1000,NULL);
return 0;
}
2.使用:
先必須註冊:如在運行裡輸入:regsvr32 C:\Users\Administrator\Desktop\ActiveX控制項\Debug\ActiveX控制項.ocx
(反註冊:regsvr32 /u C:\Users\Administrator\Desktop\ActiveX控制項\Debug\ActiveX控制項.ocx )
如在HTML中使用:在其中寫入標記:(還可以使用ACTIVEX CONTROL PAD 、dreamweaver等工具在網頁中插入控制項)
<OBJECT ID="ActiveX1" WIDTH=100 HEIGHT=51
CLASSID="CLSID:B6A3DF15-8C2E-4B7D-A493-BC816224598A">
<PARAM NAME="_Version" VALUE="65536">
<PARAM NAME="_ExtentX" VALUE="2646">
<PARAM NAME="_ExtentY" VALUE="1323">
<PARAM NAME="_StockProps" VALUE="0">
</OBJECT>
每一個ActiveX Control都會有一個對應的CLSID,該ID是唯一的。通過OBJECT的CLASSID屬性指定ActiveX Contorl的ID,就可以找到相應的ActiveX Control
ACTIVEX CONTROL
PAD