比如说我想在我的界面上放一个注册过的ActiveX控件---DBGrid,我当然需要在程序中通过该对象的成员函数动态地修改其属性,而不是在资源管理器中修改其属性,但是我在MSDN(Visual Studio6.0的)中没有找到该类---CMsDgridCtrl,是不是由于所有的ActiveX控件(包括已经在VC中注册过的)提供的成员函数都相当简单-----和它在资源管理器的属性对话中提供的修改完全一致(而不像一般的C++控件),所以就没有帮助了?请指点,多谢!
调试欢乐多
难道它的成员函数和 VB中的DataGrid对象的属性和方法提供的完全一致?
请问平时你们如果要使用一个ActiveX控件的时候是如何获得帮助的?
他的每个成员函数都有VB中的方法和属性对应(属性在VC中也被定义成方法分别get和put),而这些函数的实现就是简单的转发而已,他直接用datagrid对象的idispatch接口的invoke进行调用。
(来自microsoft imagelist 6.0),就是那种带图片的COMBO,我猜想它可能要设一个imagelist什么的,于是我就找它的成员函数:
void CImageCombo::SetImageList(LPDISPATCH newValue)
{
static BYTE parms[] =
VTS_DISPATCH;
InvokeHelper(0x3, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
newValue);
}
我记得以前使用类似的VC Control 时要提供一个CImageList *p的参数,可它的参数却是LPDISPATCH newValue
搞不懂,我究竟该如何使用这些active X的成员函数呢?
即如何获得ActiveX相关的帮助呢?
一个 Cimagecombo activeX控件,
一个 Cimagelist activeX控件,并且静态添加了图片集,由于在它们的属性框中没有发现有相联的地方,发现 Cimageist有一个成员函数如下:
LPDISPATCH CImageList1::GetListImages()
{
LPDISPATCH result;
InvokeHelper(0x4, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, NULL);
return result;
}我想当然地
m_imagecombo.SetImageList(m_imagelist.GetListImages());
提示无效的对象???Active控件难道不是为了方便开发而推出的吗?为什么会没有帮助?
实在不行,就算了!
甚至想当然的认为我是有义务来这个贴子的.sigh