activex ocx插入、调用dialog对话框

1 篇文章 0 订阅

网上看到很多。都比较麻烦  下面这个是最简单的


Dialog frame as an ActiveX control

I wanted to create a control which would behave as a dialog or formview (you can place controls here). There is a simple way to do it - to take advantage of ActiveX.

  1. Create a new MFC ActiveX ControlWizard workspace (no need to special options).
  2. Insert a new dialog resource named IDC_MYDIALOG (check following: style - child, border - dialog frame, visible, control, static edge)
  3. Insert a new MFC class named CMyDialog (base class CDialog)
  4. Add CMyDialog m_MyDialog member to your CDialogCtrl header source (don't forget to add #include "MyDialog.h")
  5. Using classwizard add a member function OnCreate (WM_CREATE)
intCDialogCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if(COleControl::OnCreate(lpCreateStruct)==-1)
return-1;
m_MyDialog.Create(IDD_MYDIALOG,this);
return0;
}


Modify the member function OnDraw (the dialog's size depends on the WIDTH and HEIGHT specified in the HTML file):

voidCDialogCtrl::OnDraw(CDC* pdc,constCRect& rcBounds,constCRect& rcInvalid)
{
// TODO: Replace the following code with your own drawing code.
// pdc->FillRect(rcBounds, CBrush::FromHandle((HBRUSH)GetStockObject(WHITE_BRUSH)));
// pdc->Ellipse(rcBounds);
m_MyDialog.MoveWindow(rcBounds, TRUE);
}





To show the control in your browser use this simple HTML:

  
  
  1. <html>
  2. <head>
  3. <title>DialogControl</title>
  4. </head>
  5. <body>
  6. <center>
  7. <OBJECT ID="DialogControl" CLASSID="CLSID:insert here the GUID from ODL file"
  8. HEIGHT=300 WIDTH=300>
  9. </OBJECT>
  10. </center>
  11. </body>
  12. </html>



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值