我写了一个class,该class的功能大体是:调用某打印机厂商提供的dll打印指定文本,测试一切正常,但最后集成时要求我封装成ocx,我想问大家我该怎么把一个class封装成ocx?
注意该class调用了dll,谢谢啦,如果问题解决了,我在加送100分给解决问题的人,决不食言!
注意该class调用了dll,谢谢啦,如果问题解决了,我在加送100分给解决问题的人,决不食言!
解决方案 »
- 想在DELPHI是捕获MAINFORM窗口的WM_SETFOCUS,完整的怎么写?
- delphi 调用存储过程
- 如何在一文本输入中打点弹出输入信息选项!就象DELPHI的语句提示一样!(100)分!高手请进!
- 大家看看,http://www.vdisk.cn/的盘符是怎么做出来得?
- C/S问题
- 问题 - 很急的一个问题
- zhoutian618进来接分,别人就不要来了
- 在delphi中,提示‘多步操作产生错误,请检查每一步状态值’
- paradox7的表我用delphi打开并向表中添加或删除数据的时候提求INDEX IS READ ONLY
- 将二进制文件保存的信息存入数据库问题!!
- 请教如何实现:当数据库改动,1个sever向多个client发出消息,向QQ那种方式弹出消息!
- 请问各位大虾!从excel导入access的时候用ado的select语句是不是顺序导入的?
打开Delphi,关闭已有的空工程,选择File-》New-》Other-》ActiveX-》ActiveXControl,在弹出的窗口中选择TButton,命名MyButton,然后把版本勾上,确定,就会生成一个OCX工程,
2、加载你的Class:
在单元MYButtonImpl1的Private下定义你的Class对象,如:MyClass:TMyClass;然后在InitializeControl中创建你的对象,Destroy中释放你的对象;
3、添加OCX属性、方法、事件:
点击窗体上的View-》Type Library,在弹出的窗体上添加你的方法,事件,属性等(这些方法的参数参考你自己Class中的方法,因为步骤4中要调用你Class中的方法),然后点击该窗体上的Refresh按钮,这是你会发现MYButtonImpl1下多了很多方法,但是这些方法都没有实现;
4、调用你的Class对象方法:
在步骤3中生成的方法调用你自己Class的方法。注册OCX,调试。成不成就看你自己的了^_^
明天我去试试看,成了就再开个帖子给你加分不过有个问题是我的class调用了dll,会不会有什么问题,我记得是那个朋友跟我说要拔掉用了dll的代码封装进activex很麻烦
Destroy中释放你的对象的时候释放你的dll ;就可以了,不会麻烦吧
2、由于该控件是继承自button,我倒入activex控件后,总是出现一个button,怎么把他的visiable设为false?有没有办法去掉那些跟button相关的无用属性,做成像delphi自带的那些不可视控件一样。再次感谢
我再InitializeControl里设置,没用阿
我测试过我得,可以隐藏啊!实在不行就用一种变通的方法:用别的控件覆盖这个MyButton就可以了。