TXM_SETITEMPOSITION
Перемещает элемент или категорию таблицы-дерева в новую позицию
TXM_SETITEMPOSITION
wParam = bUpdate;
lParam = (PTCEXINSERTITEM) pti;
bUpdate - если не равна нулю, побуждает контрол перерисовать своё содержимое
pti - указатель на структуру TCEXMOVEITEM c указанием перемещаемого элемента и точкой назначения.
В структуре:
Поле hInsertAfter может принимать следующие стандартные значения:
TVEX_FIRST - вставить в начало (в самый верх) указанной ветви дерева (если hPArent != 0) иначе в начало списка.
TVEX_LAST - вставить в конец (в самый низ) указанной ветви дерева, если hPArent = 0 - как корневые элементы.
Поле hPArent определяет родительский элемент расширяемой категории. При hPArent = 0 элемент вставляется как корневой.
Также заметим что установка hInsertAfter в не стандартные значения (напр. действительный указатель на элемент) приводит к игнорированию hPArent
Возвращаемые значения:
1 при успехе,
0 при сбое. Получить подробные сведения можно вызвав GetLastError().
Заметки:
Отдельно отметим что под элементом подразумевается не
одна конкретная строка таблицы-дерева, но и все строки, являющиеся
дочерними к указанной (категория). т. е. в случае указания элемента - родителя
категории будет перемещена вся категория, с соответствующими
модификациями уровня вложенности

Также отметим что при попытках переноса мастера категории внутрь
категории (т. е. например вызов с item = Корень10 и hInsertAfter =
Субэлемент30) вызовет естественный отказ, в виду неоднозначности такого
перемещения, и в GetLastError() будет записана возможно неочевидная
ошибка Win32: ERROR_DIRECTORY
Заголовок: TCEXclass.h