如何用 C++Builder6 制作一个有复杂界面的 ActiveXControl?
这个ActiveX控件的界面中包括多个按钮和输入框。
我开始是这样做的,创建一个具有同样界面的BPL控件,然后转换到ActiveXControl,但是发现,这样的Activex控件有问题,运行和设计中,右键点击控件界面中的输入框,都会出现 “Control"" has no parent”的系统错误。
如果大家不相信,可以做一个简单的例子试试:从TWinControl类继承一个新的控件,开放Font属性,控件中放一个TEdit控件,编译成BPL控件后,测试一切正常,再将BPL控件转换为ActiveXControl,编译一切正常。最后测试这个OCX控件,导入BCB也没有问题,从组件面板上把他托到设计窗口中,试试在Edit上点击右键,肯定出现上面的提示。同样,将这个控件直接发布到Web页面上,运行后,在Edit上点击右键,也是同样的错误。
我用Spy++,跟踪消息,发现很多问题:运行后,如果点击这个控件的任何部位(其实就是SetForcus),整个窗口就失去了响应,非要重新激活一下,整个窗口才能正常。
这种ActiveXControl肯定是没法用的,问题太多。
不知道各位BCB高手们,如何开发这样的ActiveX控件啊