65.9K
CodeProject 正在变化。 阅读更多。
Home

如何在 Win32 中编辑列表视图子项

starIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIconemptyStarIcon

1.68/5 (7投票s)

2008年8月9日

CPOL
viewsIcon

52539

downloadIcon

1001

展示如何在不使用 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;

结束语

好了,就到这里。希望您喜欢。请发送您的意见、建议等。

© . All rights reserved.