Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум на Исходниках.RU > Borland C++ Builder/Turbo C++ Explorer > Ребят кто нить работал с VirtualTreeView |
Автор: desivers 16.03.07, 01:11 |
Ребят кто нить работал с VirtualTreeView? Может кто нить подсказать по работе с ним, нигде не нашел как работать с ним через Builder а на Delphi у них слишком сложные примеры. |
Автор: artalex 16.03.07, 05:39 |
desivers см. здесь |
Автор: Syslik 11.12.17, 15:39 |
Всем привет, помогите разобраться с чтением данных чужого VirtualTreeView. Перебор элементов организовал с помощью цикла (другое типа TVM_GETCOUNT не работает, или я не то делаю). Код следующий: <{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}> HWND h3, h4; ... h4 = FindWindowEx(h3, NULL, "TAdvVirtualTreeView", NULL); HTREEITEM Root = (HTREEITEM)::SendMessage(h4, TVM_GETNEXTITEM, TVGN_FIRSTVISIBLE, 0); while (Root) { TV_ITEM tvi; tvi.hItem = HTREEITEM(Root); tvi.mask = TVIF_HANDLE + TVIF_TEXT; SendMessage(h4,TVM_GETITEM,0,(LPARAM)&tvi) // Root = (HTREEITEM)::SendMessage(h4, TVM_GETNEXTITEM, TVGN_NEXTVISIBLE, (LPARAM)Root); } а как достучаться к данным Item[]? TVM_GETITEM на выходе пустой. Пробовал посмотреть события через Spy++, приходят типа WM_USER+47361 и т.д. Спасибо. |
Автор: Славян 11.12.17, 16:09 |
Ну если текст просите, то надо же в структуре указать, куда текст складывать (адрес строки-pszText) да и размер строки тоже надобно сообщить(cchTextMax). |
Автор: Syslik 11.12.17, 16:38 |
Да, но я так думаю, что там и структура другая, не TV_ITEM. Я это делал <{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}> TVITEM tvItem; tvItem.mask = TVIF_TEXT; tvItem.hItem = Root; tvItem.pszText = (char*)remoteBuffer + sizeof(TVITEM); tvItem.cchTextMax = 255; Пробовал подпихнуть и TVirtualNode <{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}> struct TVirtualNode { private: struct _TVirtualNode__1 { }; public: unsigned Index; unsigned ChildCount; System::Word NodeHeight; TVirtualNodeStates States; System::Byte Align; TCheckState CheckState; TCheckType CheckType; System::Byte Dummy; unsigned TotalCount; unsigned TotalHeight; TVirtualNode *Parent; TVirtualNode *PrevSibling; TVirtualNode *NextSibling; TVirtualNode *FirstChild; TVirtualNode *LastChild; _TVirtualNode__1 Data; }; также без результата (пусто). |
Автор: Kliner 14.12.17, 11:01 |
Работал, но мне не понравилось. Слишком все все сложно в этой проге, есть проще. |