Visual C++ 7.1Visual C++ 8.0Windows VistaVisual C++ 7.0Windows 2003Win32Windows 2000Visual C++ 6.0Windows XP中级开发WindowsC++
如何在 Win32 中编辑列表视图子项
展示如何在不使用 MFC 的情况下编辑 ListView 子项文本。
引言
这是我第一次向 CodeProject 提交文章,希望经验丰富的成员能帮助我。我的英语不太好,但我会尽力而为。
这篇文章试图解释如何允许 ListView 控件编辑其子项,就像在电子表格控件中一样。代码使用 Win32 Native API 编写,作为使用 MFC 编写的现有代码的替代方案。请告诉我您的想法以及我可以改进的地方。提前感谢。
使用代码
为了使用这段代码,您必须使用两个文件:“StrViewWnd.cpp”和“StrViewWnd.h”。这两个文件都已充分注释,以解释代码的每一行作用。
1. 创建控件
case WM_CREATE:
{
// Here create the listview
CreateStringView(hWnd,ID_LIST);
...
}
break;
2. 处理控件通知
case WM_NOTIFY:
{
LPNMHDR lpnmHdr = (LPNMHDR)lParam;
switch(lpnmHdr->idFrom)
{
// catch its notify events
case ID_LIST: // ID_LIST is the listview id
return OnStrViewNotify(wParam,lParam);
}
}
break;
3. 撤销更改
case WM_DESTROY:
// call Revert() to restore original listview window procedure
Revert();
PostQuitMessage(0);
break;
结束语
好了,就到这里。希望您喜欢。请发送您的意见、建议等。