1、调试过程中发现,如果将Visible属性设置成了FALSE后,OCX的所有的事件都没有响应了,改成TRUE一切正常,这是为什么?
2、如何将默认的一些属性和事件去掉,有一些没有多大用处。
3、如何更改控件的图标,导入此OCX,总是显示一个OCX的图标很难看,如何更改。
4、当设计时是控件OnDraw时显示图标,但运行时不显示图标。(不是界面控件的OCX,完成完成一定功能的OCX)。以上的问题,如何解决!请大家帮忙,谢先!

解决方案 »

  1.   

    你可以把项目里的一个BMP文件修改啊,他的图标就是OCX三个字。。
      

  2.   

    谢谢msvbvm60(HOOK),第3个问题已经解决了,第4个问题自已解决了。
    使用VC++5.0中的MFC ActiveX ControlWizard 向导来实现,可以在该向导的第2页中选中invisible at runtime复选框。
    如果想修改已经生成的控件项目,我们可以在该控件类的.cpp文件(本例为MyControlCtl.cpp)中的Control type information处加入OLEMISC_INVISIBLEATRUNTIME常量,如下所示(修改处以下划线标出):   // Control type information   static const DWORD BASED_CODE _dwMyControlOleMisc =   OLEMISC_INVISIBLEATRUNTIME | //控件在运行时不可见   OLEMISC_ACTIVATEWHENVISIBLE |   ......;   IMPLEMENT_OLECTLTYPE(CMyControlCtrl, IDS_MYCONTROL, _dwMyControlOleMisc)  还有1和2两个问题,那位大侠知道?
      

  3.   

    第二个问题也解决了,设上OLEMISC_INVISIBLEATRUNTIME 后,这些Visible等属性都不见了,没用的事件也不见了,现在的问题就只剩一个,就是为什么Visible为FALSE,(现在运行时不显示后,所有的事件都收不到了)