Не могу получить итемы из TreeView средствами WinAPI. Что не так делаю?
Создал окно Form123 cо списком дерева TreeView, в него добавил итемы. Запустил это приложение и средствами WinAPI хочу получить добавленный список дерева. Например пытался получить выделенную итему, результат нулевой:
Код | HWND hWnd = FindWindow(NULL,"Form123"); if (hWnd) { hWnd = FindWindowEx(hWnd, NULL, "TTreeView", NULL); if (hWnd) { TV_ITEM TrItem; ZeroMemory(&TrItem, sizeof(TV_ITEM)); HTREEITEM hTrItem=0; long reslt;
hTrItem=(HTREEITEM)SendMessage(hWnd,TVM_GETNEXTITEM,TVGN_CARET,0); TrItem.hItem = hTrItem; TrItem.mask = TVIF_TEXT; TrItem.pszText=new char[50]; TrItem.cchTextMax=50;
reslt = SendMessage(hWnd,TVM_GETITEM,0,(LPARAM)&TrItem); if(reslt!=0)ShowMessage(PChar(TrItem.pszText)); } }
|
В 13 строке хэндл итема вроде получаю правильно, проверял с помощью Spy Window, результаты совпадают. |