正确处理静态HTREEITEM的清理

时间:2014-04-02 07:54:13

标签: c++ winapi treeview code-cleanup

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

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

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

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 ?

            // ...

谢谢。

最好的问候。

2 个答案:

答案 0 :(得分:2)

树状视图在收到WM_DESTROY消息时应处理各个项目的清理,除非您需要,否则您可能不需要将LastCheckedItem设置为NULL稍后检查它的值。

答案 1 :(得分:2)

你不需要做任何整理。当您销毁树视图时,它将销毁其所有项目。