ActiveX控件界面问题
我现在正在做一个activex控件的项目,要求它具有和.exe应用程序一样的界面,所有的操作完全在这个控件中完成,然后把这个控件放到IE中供远程调用,不打算用脚本语言来调用其提供的方法的形式,想直接在控件中完成消息响应,其实说白了就是想用activex控件实现.exe应用程序的功能!!
现在我的问题是这个界面怎么去完成,我所知道的有两个办法:1.在ondraw()函数中绘制这个控件,但是并不是所有的控件都能画出来,并且这样相对于拖放控件来说简直是太麻烦了,这样做还有问题就是感觉画的控件很奇怪非常不正常,同时如果我画了一个按钮我想响应按这个按钮的事件,我怎么才能得到这个按钮的ID呢.2.用create函数动态创建控件,这种办法到是好响应消息,我是在OnCreate()中动态创建的一系列控件,界面到是可以比较好的创建出来,但是当我把整个控件加在IE上时,初次显示比较正常,但是如果我把IE最小化后再最大化(或者有其它东西覆盖界面后),整个界面在没有控件的地方就显示的是桌面的背景(或覆盖东西的颜色),但是如果我只是按IE的还原按钮再按最大化按钮整个界面就完全正常.我是响应了Onpaint()的,如果不响应Onpaint()的话界面就不会出现这个问题,但是显示图象时又会有问题.但是奇怪的是我并没有在Onpaint()中加任何代码!我想请教如何解决这个问题在网上找了很久也没有找到解决办法.
还有我看到有些别人做的activex控件界面非常的好和.exe应用程序界面完全一样,我想知道这个技术是怎么实现的!想请教大家,谢谢!
请大家多帮我想想办法吧!我很急呀,多谢,拜托!
问题点数:20、回复次数:10Top
1 楼whwjn(哈哈)回复于 2006-07-04 01:15:57 得分 0
gzTop
2 楼whwjn(哈哈)回复于 2006-07-04 03:00:28 得分 0
http://www.evget.com/articles/evget_1446.htmlTop
3 楼simonzone(马叉虫)回复于 2006-07-04 13:18:34 得分 0
参考例子:
http://www.codeguru.com/Cpp/COM-Tech/activex/Top
4 楼hxc666()回复于 2006-07-27 10:50:04 得分 0
我顶啊!
我也在学习这个内容
高手们多说点吧Top
5 楼sjl_cn(稻田守望)回复于 2006-07-28 08:41:05 得分 0
可以在ActiveX中使用FormView,但是3楼的文章中有点问题,有些地方需要修改Top
6 楼linamu(林中一木)回复于 2006-07-28 11:06:00 得分 0
学习Top
7 楼yuhan_0110(欲寒)回复于 2006-07-31 10:45:34 得分 0
但是当我把整个控件加在IE上时,初次显示比较正常,但是如果我把IE最小化后再最大化(或者有其它东西覆盖界面后),整个界面在没有控件的地方就显示的是桌面的背景(或覆盖东西的颜色),但是如果我只是按IE的还原按钮再按最大化按钮整个界面就完全正常.我是响应了Onpaint()的,如果不响应Onpaint()的话界面就不会出现这个问题,但是显示图象时又会有问题.但是奇怪的是我并没有在Onpaint()中加任何代码!我想请教如何解决这个问题在网上找了很久也没有找到解决办法.
在OnDraw()中
void C×××Ctrl::OnDraw(CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid)
{
CBrush BackBrush(GetBackColor());
pdc->FillRect(rcBounds, &BackBrush);
if(m_bCreate)
{
m_***.MoveWindow(**);
}
}
Top
8 楼kyozpeng(遍历红尘)回复于 2006-08-04 13:53:02 得分 0
可以把窗口控件写成dll,动态链接库,然后在activex中调用即可。Top
9 楼yuhan_0110(欲寒)回复于 2006-08-14 14:02:05 得分 0
楼上的方法很好,这样界面就很灵活了!Top
10 楼wegotnothingtolosebu(t this is a dirty joke...)回复于 2006-08-18 11:57:35 得分 0
关注,菜鸟问一下,如果写成Dll的话,发布的时候这个Dll要怎么发布?需要处理吗?Top




