VC自动化向导的bug2(vs2005使用Labview控件类时的错误)

   项目中用到Labview的slider控件,需要在程序中控制slider填充区域的颜色(图中绿色区域)
.
   颜色参数为属性分组中的Pointer中的FillColor属性.

   查找slider类的成员函数,希望找到能设置FillColor的函数,发现其中并没有直接设置的函数,但有一个获取CwPointer指针的函数

CWPointer * GetActivePointer()
{
	CWPointer * result;
	GetProperty(0x105, VT_DISPATCH, (void*)&result);
	return result;
}
   接着查找CwPointer的成员变量,发现了设置FillColor属性的方法

CWPointer : IDispatch
{
    OLE_COLOR GetFillColor ( );
    void PutFillColor ( OLE_COLOR _val );
  于是尝试先通过slider变量获取Cwpointer属性,在调用Cwpointer的方法设置颜色,结果程序报错:提示CwPointer类为抽象类,不能实例化。由此发现了vs2005自动化向导的一个Bug: 没有正确的定义控件类包含的所有接口类(根本就没有定义),需要自己手动添加这些接口类。

   手动添加接口类的方法:类视图->添加类->MFC->TypeLib中的MFC类


   在类型库中找到Nat

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值