
进一步描述一下吧。
是标准MFC拆分视图的CFormView,还是自定义的FormView。
如果是前者,用MFC的标准视图获取方式比较好,大概用到的就是GetFirstViewPos GetNextView RUNTIMECLASS这些。
后者必须通过父窗口的成员变量获取。
看了你后面的追问,用到了ATL。
HWND hWnd = GetDlgItem(IDC_LIST);
CListCtrl lc(hWnd); //或者用Attach也行。
ATL中一般使用句柄,MFC中一般是类指针。
比如GetDlgItem,ATL返回HWND,MFC返回CWnd
1、GetWindowLong是获得有关指定窗口的信息,这个信息包括窗口扩展风格、标识、父句柄、风格等;通过第二个参数在控制的
2、GWL_EXSTYLE
获得扩展窗口风格。
GWL_HINSTANCE
获得应用事例的句柄。
GWL_HWNDPARENT
如果父窗口存在,获得父窗口句柄。
GWL_ID
获得窗口标识。
GWL_STYLE
获得窗口风格。
GWL_USERDATA
获得与窗口有关的32位值。每一个窗口均有一个由创建该窗口的应用程序使用的32位值。
GWL_WNDPROC
获得窗口过程的地址,或代表窗口过程的地址的句柄。
同样SetWindowLong也需要通过参数设定不同的信息;
CPoint pt;
GetCursorPos(&pt);//获取当前鼠标点击坐标
m_treeScreenToClient(&pt);//将屏幕坐标转换为客户区坐标
HTREEITEM hItem = treeHitTest(pt);//点击测试,当前点击的是否为节点
if(NULL != hItem)//是的话,进行下面 *** 作
{
循环m_treeGetParentItem
m_treeGetItemText
直到GetParentItem返回空,表示当前为根节点
}
大概就是这样 具体的代码自己写写看 代码需要放到树形控件的鼠标单击响应函数里!
你说的CListCtrl?
如果这InsertColumn()添加的列标题,
添加的内容InsertItem(),和SetItem()/ SetItemText()函数;
InsertColumn()2过载:
诠释InsertColumn(NCOL,LPCTSTR lpszColumnHeading,
资源回收的事宜= LVCFMT_LEFT,nWidth = -1,nSubItem = -1);
诠释InsertColumn(NCOL,常量LVCOLUMN pColumn)
InsertItem()有三个重载:
诠释InsertItem(const字段LVITEM pItem);
诠释InsertItem(nItem项,LPCTSTR lpszItem);
>诠释InsertItem(nItem项,LPCTSTR lpszItem,INT n影像);
以上就是关于VC 如何获得WM_CHILD风格窗口 控件ID全部的内容,包括:VC 如何获得WM_CHILD风格窗口 控件ID、vc++ 如何获取自会控件的句柄、如何获取控件句柄 vc等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)