У меня есть главное окно с контролем дерева. Мне нужно отследить определенные изменения проверенного элемента, поэтому я решил сделать 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 ?
// ...
Спасибо.
С наилучшими пожеланиями.
Древовидное представление должно обрабатывать очистку отдельных элементов при получении WM_DESTROY
сообщение, и вам, вероятно, не нужно устанавливать LastCheckedItem
в NULL
если вам не нужно проверить его значение позже.
Вам не нужно делать уборку. Когда вы уничтожите дерево, оно уничтожит все его предметы.