ATL中我们最关心的细节积累(1)

类别:VC语言 点击:0 评论:0 推荐:
ATL中我们最关心的细节积累(1)
1.创建控件时没有选择"运行时不可见",我想加入这个特性,怎么办?

在工程目录中找到,***.rgs,用记事本打开,找到:

'MiscStatus' = s '0'
{
'1' = s '131473'
}

修改为:

'MiscStatus' = s '0'
{
'1' = s '132497'
}



重新编译即可拥有运行时不可见的特性

2.创建控件时没有选择"Window Only",使用时发现没有窗口句柄,怎么办?

打开控件类的构造函数,加入:m_bWindowOnly=true;即可拥有句柄

3.在连接点中设置传入参数时出错,怎么办?

将参数设为[out]时,打开向导生成的Fire_XXX函数

会看到类似代码:

比如Fire_xxx(long* val)中:

pvars[0]=val;

编译会出现警告,需要如下修改:

pvars[0].vt =VT_I8 | VT_BYREF;
pvars[0].plVal=val;

方可成功传入参数,其中VT_BYREF表示采用传递引用方式

本文地址:http://com.8s8s.com/it/it593.htm