请教一个问题,我想做一个VB能调用的MFC开发的ActiveX控件,功能是将VB的输入框中输入的字符串发送出去。我原来用VC直接做的在LINK中连接ws2_32.lib 然后加入了一个Sendnum.h和Sendnum.cpp主要是封装了一个发送函数SendData(char*,int),通过VC程序中输入字符串将其发送出去,已经试用了,可以用。现在想将功能做成控件供VB调用,在VB中输入字符串然后通过所做的控件发送。我现在已经想好了先建立一个属性--m_sendnum(CString类型)将VB输入的字符串赋给该变量,然后在OnSendnumChanged()函数中调用SendData(char*,int)函数将其发送出去。其他不用另外加入事件和方法了。大家认为这样是否可行,我对控件的了解很粗浅希望大家提出建议并详细解释。另外如果我用方法的话将VB输入的字符串赋给该方法的参数,在该方法函数中调用SendData()函数发送数据,是否可行,该方法是怎么被激活的,是否给参数赋值的时候该函数就调用了?
解决方案 »
- 2个ListControl能同时选中
- 关于调用LoadLibrary和FreeLibrary多次后失败的问题
- 请教:如何按space键实现对话框背景色的切换?? 急啊!!
- VC++还是那么光明吗?
- 怎么实现用VC电子白板,哪位高手能不能给点思路~~~万分感谢
- 急,制作一个安装程序!
- 普通程序如何和自己写的服务程序进行filemaping通讯??另文件操作为何失败?
- 在不知道密码情况下离线查看QQ聊天信息的软件????
- 如何把WIZARD型的CPROPERTYSHEET中的帮助按钮去掉?
- vc2008怎么添加lib文件,相对路径
- 程序运行出错
- 怎样把一个propertysheet贴到一个dialog中呢?
哥们我只是问个问题,你没事吧你?
有谁可以给点建议谢谢!!
首先,打开VC,创建一个新的工程,使用“ATL COM AppWizard”,创建好之后,在ClassView中,右键点工程,选择“New ATL Object”,然后指定创建Simple Object,所有选项都默认。ClassView中,在你创建的ATL Object类下面有一个和类名称相同的接口,在接口上点右键,然后
选择"Add Method",添好方法名称和参数点OK。参数用一个就够了,比如说:“BSTR bstrData”,方法名称为SendData。 OK了之后,在接口下会多出一个方法,打开CPP文件,定位到方法,然后加入你的SendData调用代码。搞定之后,编译链接,如果没有错误,将生成DLL文件,并且已经注册好。打开VB,在工程中添加引用,引用这个dll文件,然后在VB中就可以使用你用ATL创建的对象了。比如说你的ATL类名叫 CImplDataSender(创建ATL对象的时候,你指定的是ImplDataSender,Wizard会自动为你添加"C"前缀),在VB中这样调用
dim oDataSender as new ImplDataSender
ImplDataSender.SendData "Hello world"这样就搞定了。如果你想错小dll文件的尺寸,推荐你不要链接mfc类库,即不要用CString,自己直接操纵BSTR就可以了。