c++ - 正确处理静态 HTREEITEM 的清理

标签 c++ winapi treeview code-cleanup

我有一个带有 TreeView 控件的主窗口。我需要跟踪选中项的某些更改,因此我决定创建一个 static HTREEITEM 变量来存储该句柄。

我不知道在我的 WM_DESTROY 处理程序中将变量设置为 NULL 是否足够,或者我是否需要做其他事情?

以下是说明我的困境的代码片段:

LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
    static HTREEITEM LastCheckedItem;

    // Other parts of the code that work well

    case WM_DESTROY:
        {
            LastCheckedItem = NULL;  // or should I do something else ?

            // ...

谢谢。

最好的问候。

最佳答案

TreeView 应该在收到 WM_DESTROY 消息时处理单个项目的清理,您可能不需要将 LastCheckedItem 设置为 NULL 除非您稍后需要检查它的值。

关于c++ - 正确处理静态 HTREEITEM 的清理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22804892/

相关文章:

java - 在java中使用TreeViewer [Antlr4]仅显示完整的树而不是层次结构数据

c++ - 命名空间的成本

c++ - 如何使用基于范围的 for 循环重写此代码?

c++ - 在 OpenGL 中使用左上角原点

java - Java中用什么代替SendMessage和PostMessage来处理线程间通信?

javascript - UI5 - 具有 XML 模型渲染问题的 TreeTable

c++ - Glibc 的静态链接

c++ - 安装了全局 Hook 后,我如何知道窗口何时开始移动以及何时停止移动?

c++ - 无法理解普通c++与vc++、win32编程、mfc、win32 api、CLI之间的关系

c# - .Net C# 设计 View 错误