描述:
请问在 ATL复合控件中添加了一个控件请问我怎样调用这个控件的方法即如何使用添加的这个控件
解决方案1:
我以前问过,可惜没人回答,我搞定了现在告诉你吧,记得给分哦:第一种方法:
IYOURCTRLPtr m_spWfmViewer;
HWND hwnd = GetDlgItem(IDC_WFMVIEWER );
IUnknown *pIUnk = NULL ;
AtlAxGetControl( hwnd, &pIUnk) ; //取得控件的接口指针
HRESULT hr = pIUnk->QueryInterface( __uuidof(WfmViewer), (void**)&m_spWfmViewer) ;
第二种方法:HRESULT hr = GetDlgControl(IDC_WFMVIEWER,__uuidof(IWfmViewer) ,(void**)&m_spWfmViewer);
具体参数代表的对象就不用我细说了吧!
用起来就麻烦一点:
eg:
.h
HWND m_hTree;
.cpp
m_hTree= GetDlgItem(IDC_TREE1);
TV_INSERTSTRUCT TreeCtrlItem;
TreeCtrlItem.hParent = TVI_ROOT;
TreeCtrlItem.hInsertAfter = TVI_LAST;
TreeCtrlItem.item.mask = TVIF_TEXT | TVIF_PARAM;
TreeCtrlItem.item.pszText = _T("zhao");
TreeCtrlItem.item.lParam = 0;
HTREEITEM hTreeItem1 = TreeView_InsertItem(m_hTree, &TreeCtrlItem);