如何把MFC做的一个程序转换成Activex控件

susu09new 2009-12-25 10:48:46
现在用MFC编了一个应用程序,想把它变成activex控件(.ocx),听说要代码移植之类的,但是不知道具体的操作,请各位兄弟伙帮帮吗!大家圣诞快乐哈。。。
...全文
255 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
susu09new 2009-12-27
  • 打赏
  • 举报
回复
非常感谢大家,问题解决了,就是把原有的函数弄过去就okay了
zealand_1 2009-12-27
  • 打赏
  • 举报
回复
原有的框架不适合了
oyljerry 2009-12-25
  • 打赏
  • 举报
回复
新建一个ATL工程,然后对应你MFC程序,建立对应的对话框,窗口,控件等,一般ATL都有对应MFC的类库
rubywang731 2009-12-25
  • 打赏
  • 举报
回复
.Add CMyDialog m_MyDialog member to your CDialogCtrl header source (don't forget to add #include "MyDialog.h")
.Using classwizard add a member function OnCreate (WM_CREATE)
int CDialogCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (COleControl::OnCreate(lpCreateStruct) == -1)
return -1;

m_MyDialog.Create(IDD_MYDIALOG, this);
return 0;
}
Modify the member function OnDraw (the dialog's size depends on the WIDTH and HEIGHT specified in the HTML file):
void CDialogCtrl::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);

m_MyDialog.MoveWindow(rcBounds, TRUE);
}
转自http://www.codeguru.com/Cpp/COM-Tech/activex/controls/article.php/c2615
sandyandy 2009-12-25
  • 打赏
  • 举报
回复
用alt新建工程, 然后再一步步移过去
  • 打赏
  • 举报
回复
http://www.vckbase.com/code/listcode.asp?mclsid=7&sclsid=702&page=3
里面有一个 【 类似画笔的绘图控件源代码】 介绍了将SDI转换为AxtiveX方法
雪影 2009-12-25
  • 打赏
  • 举报
回复
这个相当于重写所有的代码了,整个框架都得改。
虽然大部分逻辑代码可以重用,但是改写的工作量也比较大的。涉及到得知识比较多。
susu09new 2009-12-25
  • 打赏
  • 举报
回复
我想生成的activex控件,为什么要建立ATL工程?
我现在用MFC生成了一个单文档的应用程序,你的意思是让我在ATL工程中重复我程序产生的步骤是吧?但是生成的Activex工程没有view doc之类的类!如何整来?请指教。。
刚接触这块,请见谅...

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧