MFC ActiveX Control工程中添加button、edit和richedit等控件

hope2reality 数据库优化与设计  2014-08-18 11:05:53
我已经完成了一个mfc工程,界面包含button、edit和richedit等控件,现在需要将mfc工程改成ActiveX工程,然后将其注册成控件挂在网页上。所以现在刚刚学习ActiveX Control,有很多地方不懂。
我现在想让ActiveX Control工程也有我之前那个mfc工程的界面效果,但是我不知道在哪里添加控件。我试着在资源对话框中添加控件,最终发现这个地方是属性设计,并不是主界面。我在网上看帖子,有人说在OnCreate()函数中添加创建控件的代码,但是我建立完ActiveX Control工程后没有OnCreate()函数(在C**Ctrol类中有DoPropExchang() OnDraw() 和OnResetState()),我在类向导中也没有看到OnCreate()函数啊。

请教各位大哥这里应该怎么做呢?
...全文
161 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Heally_Li 2016-03-16
请问楼主问题解决了吗?我遇到了同样的问题,刚开始做c++开发
回复
hope2reality 2014-08-18
哦,刚在类向导中为VM_CREATE消息处理增加了OnCreate()函数,然后加上下面两行代码:
	
    m_BtnAdd.Create("按钮",BS_DEFPUSHBUTTON|WS_VISIBLE|WS_CHILD,CRect(0,0,10,10),this,123);
    m_BtnAdd.ShowWindow(TRUE);
显示出按钮了。 如果一直用.Create创建控件,不仅繁琐,而且对于CRect的位置布局也很麻烦。我想问一下,ActiveX Control工程中可不可以像MFC工程那样直接建一个主界面的对话框,然后在对话框上拖button、edit那些控件啊?
回复
hope2reality 2014-08-18
在ActiveX Control工程中,我先建立了一个资源对话框,控件布局和我之前在mfc工程下面是一样的。我在C**Ctrl类中增加了MyDialog成员变量,然后在OnCreate()函数中添加了下面两行代码来显示对话框:

	MyDialog.Create(IDD_DIALOG1);
	MyDialog.DoModal();
但是运行后出错,这是怎么回事? 我也试着去掉MyDialog.DoModal();这句话,然后在OnDraw()函数中增加MyDialog.MoveWindow(rcBounds, TRUE);这句话,运行结果虽然不会中途出错,但是也没有出现我的对话框。 请高手帮忙看看啊,这是怎么回事呢
回复
相关推荐
发帖
ATL
创建于2007-09-28

3219

社区成员

ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
申请成为版主
帖子事件
创建了帖子
2014-08-18 11:05
社区公告
暂无公告