做一个基于对话框的ActiveX控件。刚入门,请多指教!!

时间:2021-03-09 21:06:02
原来有个项目,基于对话框的,有一个主窗口,还有几个其它弹出窗口。
现在为了便于复用,想把这个项目改成一个ActiveX控件,在其他项目中使用。使用时点击一个按钮或快捷键就弹出那个主窗口。

要求改成控件后:使用这个控件时,只在使用它的表单中显示一个小图标(就像在C++Builder中的Form中加入一个OpenDialog似的),运行这个使用它的项目时也不显示出来,当有特定的操作时才调用控件中的主窗口。
不知道说清楚了没有。其实与VC中的CFileDialog对话框有些类似。
对了,这个控件主要用于桌面应用系统,不需要在网上运行。

刚入门,很多都不懂。希望大虾们不要笑我。

请指教个实现方法。最好有个例子。多谢了。

5 个解决方案

#1


参考:
http://www.codeguru.com/Cpp/COM-Tech/activex/controls/article.php/c5561/
http://www.codeguru.com/Cpp/COM-Tech/activex/controls/article.php/c2649/
http://www.codeguru.com/Cpp/COM-Tech/activex/controls/article.php/c5517/
最好的是:
http://www.codeguru.com/Cpp/COM-Tech/activex/controls/article.php/c2615/

#2


我比较笨。谁有没有例子啊。或是详细一点的介绍。

#3


新建一个基于MFC Activex控件,将你原有程序的主窗口属性改成child.
在CMyCtrl的OnCreate方法中创建你的主窗口即可,注意在OnClose时注意销毁你create的窗口。

为了你的窗口代替控件的整个客户区在CMyCtrl的OnDraw方法中调用m_pDlg->MoveWindow(rcBounds, TRUE);要设置控件的初始大小用父类的SetControlSize(150,10);
其他操作跟MFC 对话框程序没任何区别了。


#4


漏了点,主窗口别忘了属性钩选control属性。

#5


好.

#1


参考:
http://www.codeguru.com/Cpp/COM-Tech/activex/controls/article.php/c5561/
http://www.codeguru.com/Cpp/COM-Tech/activex/controls/article.php/c2649/
http://www.codeguru.com/Cpp/COM-Tech/activex/controls/article.php/c5517/
最好的是:
http://www.codeguru.com/Cpp/COM-Tech/activex/controls/article.php/c2615/

#2


我比较笨。谁有没有例子啊。或是详细一点的介绍。

#3


新建一个基于MFC Activex控件,将你原有程序的主窗口属性改成child.
在CMyCtrl的OnCreate方法中创建你的主窗口即可,注意在OnClose时注意销毁你create的窗口。

为了你的窗口代替控件的整个客户区在CMyCtrl的OnDraw方法中调用m_pDlg->MoveWindow(rcBounds, TRUE);要设置控件的初始大小用父类的SetControlSize(150,10);
其他操作跟MFC 对话框程序没任何区别了。


#4


漏了点,主窗口别忘了属性钩选control属性。

#5


好.