描述:
接帖:http://community.csdn.net/Expert/topic/3262/3262314.xml?temp=.4761621
例如:我在增加节点的时候
InsertItem(LPCTSTR lpszItem, HTREEITEM hParent, HTREEITEM hInsertAfter)
我希望设置缺省值
hParent=TVI_ROOT
hInsertAfter=TVI_LAST
在实际传递参数时将HTREEITEM 类型改为OLE_HANDLE
OLE_HANDLE InsertItem(LPCTSTR lpszItem, OLE_HANDLE hParent = (HTREEITEM)TVI_ROOT, OLE_HANDLE hInsertAfter = (HTREEITEM)TVI_LAST)
这么做调试不能通过,请教应该如何处理?能够提供缺省参数?
解决方案1:
在你的接口定义文件中,添加:
#define TVI_ROOT ((OLE_HANDLE)0xFFFF0000)//
#define TVI_LAST ((OLE_HANDLE)0xFFFF0002)//
在接口函数定义中这样写:
InsertItem([in]BSTR bstrItem,[in.defaultvalue(TVI_ROOT)]OLE_HANDLE hParent,[in,defaultvalue(TVI_LAST)]OLE_HANDLE hInsertAfter);
试试吧
可以!用defaultvalue属性
eg:
interface IFace : IUnknown
{
HRESULT Ex1([defaultvalue(44)] LONG i);
HRESULT Ex2([defaultvalue(44)] SHORT i);
HRESULT Ex3([defaultvalue("Hello")] BSTR i);
...
};