Правильно проводить очистку от статического HTREEITEM

У меня есть главное окно с контролем дерева. Мне нужно отслеживать определенные изменения отмеченного элемента, поэтому я решил сделать 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 ответа

Решение

Древовидное представление должно обрабатывать очистку отдельных элементов при получении WM_DESTROY сообщение, и вам, вероятно, не нужно устанавливать LastCheckedItem в NULL если вам не нужно проверить его значение позже.

Вам не нужно делать уборку. Когда вы уничтожите дерево, оно уничтожит все его предметы.

Другие вопросы по тегам