我想是将listbox的句柄传递给VC中method的某个参数,可是我不太清楚VB中listbox是该如何定义的,还不清楚该如何传参??下面的语句没有问题
HRESULT MyInterface([in] Handle kk);
HRESULT MyInterface([in] Handle kk);
解决方案 »
- CRuntimeClass CreateObject 创建的对象要如何释放呢?
- windows api中关于combox控件的问题。求解。
- 求助:串口操作
- MFC对话框转化为dll导出函数的问题,原WSAAsyncSelect获取不到消息~
- 高分求助啊,局域网互联小程序,能连接不能传信息
- 使用图标文件的基本问题
- 为什么我的DOC总出现RTTI的错误
- CDocument::OnOpenDocument的简单问题
- 请教大家了:自己编写的控件*.ocx在别的机子上为什么不能用,而重新注册之后才能用呢?如何修改程序?
- 什么鬼东西,真是气我了。。。
- 急!如何在VC环境下调试ActiveX?
- 有关CScrollView的问题,局部重画......
http://www.csdn.net/Expert/TopicView1.asp?id=1078358
class CVBListBox : public COleDispatchDriver
{
public:
CVBListBox() {} // Calls COleDispatchDriver default constructor
CVBListBox(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
CVBListBox(const CVBListBox& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}// Attributes
public:// Operations
public:
DISPID GetMemberID(OLECHAR *pszMemberName);
//这里演试中取控件的高度,你可以加其它的
long GetHeight();
};
DISPID CVBListBox::GetMemberID(OLECHAR *pszMemberName)
{
DISPID dispid=0xffffffff;
if(m_lpDispatch)
{
m_lpDispatch->GetIDsOfNames(
IID_NULL,
&pszMemberName,
1, LOCALE_SYSTEM_DEFAULT,
&dispid);
}
return dispid;
}long CVBListBox::GetHeight()
{
long lHeight;
GetProperty(GetMemberID(L"Height"),VT_I4,&lHeight);
return lHeight;
}'加一个API
Private Declare Sub ShowListBoxHeight Lib "vbobj.dll" (ByVal obj As Object)
'在FORM上放一个LISTBOX
ShowListBoxHeight List1
{
CVBListBox listbox;
listbox.AttachDispatch(pListBox);
CString str;
str.Format("%d",listbox.GetHeight());
listbox.DetachDispatch();
AfxMessageBox(str);
}