VC6.0制作OCX并web调用
1.打開VC6.0,新建工程,選擇:MFC ActiveX ControlWizard,后面步驟默認即可;
2.在ClassView上,可以看到主要有**App\**Ctrl\**ProgPage幾個類,其中接口主要在**Ctrl內實現,可以通過MFC ClassWizard(ctrl+w快捷鍵)的Automation頁建立接口函數;
3.接口函數是對外,因此在參數類型定義上要注意,字符我一般用LPCTSTR,如下面函數:
? void COnOcxCtrl::CallOcx(LPCTSTR devip)
{
?// TODO: Add your dispatch handler code here
?AfxMessageBox(devip);
?ip=devip;
?Refresh();//重繪,調用ondraw()函數;
?return;
}
4.OCX控件界面主要在OnDraw()函數內實現,可以內嵌到IE的,如果是獨立對話框和Console是無法內嵌到IE,如:
CONST char* ip="127.0.1.1";
void COnOcxCtrl::OnDraw(
???CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid)
{
?// TODO: Replace the following code with your own drawing code.
?pdc->FillRect(rcBounds, CBrush::FromHandle((HBRUSH)GetStockObject(WHITE_BRUSH)));
?pdc->Ellipse(rcBounds);
?pdc->TextOut(0,0,ip);
}
5.本案例主要實現:接口方法CallOcx接收一個IP地址,然后更新控件界面的IP顯示;下步應研究如何利用OnDraw()內CDC繪制界面,滿足與用戶的交互;
對于**ProgPage(屬性)和**Events(觸發對容器響應的事件)的理解可參考http://www.cnblogs.com/jyz/archive/2008/04/11/1148476.html地址;
6.Web調用OCX的代碼:
---------------------------------------------------------------------------------------------------------------------------------
<HTML>
<H1> MFC ActiveX Test Page </H1><p>
You should see your MFC forms or controls embedded in the form below.
<HR><center><P>
<input id="input1" value="CallActiveX" type="button" οnclick="CallOcx()">
<br>
<OBJECT id="devread" name="devread" classid="clsid:39F8ACC9-EF99-4B74-9C3C-EE50E5AD56C8" codebase="OnOcx.ocx" style="HEIGHT: 500px;WIDTH:500px"></OBJECT>?
</HTML>
<script?? language="JavaScript"?? type="text/JavaScript">??
function CallOcx()??
{??
?? //--初始化、裝載樣式文件??
?? var?? iRes;
?? iRes?? =?? devread.CallOcx("172.30.88.66");
?? if(iRes==0)
?? {
??? alert("失敗!");??
?? }
}
</script>??
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
下面研究如何封裝成cab來提供給web調用;
參考:http://download.csdn.net/detail/fjssharpsword/4165589
總結
以上是生活随笔為你收集整理的VC6.0制作OCX并web调用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 日有一想
- 下一篇: vc6.0开发环境两个辅助工具