Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > Индекс выбранного элемента WC_TREEVIEW


Автор: XYLIGAN 9.1.2007, 11:37
Доброе время суток, 2 ALL!
Как у контрола WC_TREEVIEW ("SysTreeView32") узнать индекс выбранного элемента?
(Существует ли аналог TreeView1->Selected->Index из С++Builder?)
Рассматривал (NM_TREEVIEW*) lParam в обработчике TVN_SELCHANGING, но там такой инфы не нашел.

Код

INT_PTR APIENTRY MainProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
  char tmp[100];
  int Index;
  switch (msg)
  {
   case WM_INITDIALOG:
            // создаем WC_TREEVIEW ("SysTreeView32") ...
            break;
   case WM_NOTIFY:
            switch (((LPNMHDR) lParam)->code)
            {
              case TVN_SELCHANGING:
                  Index = ... ; // как узнать
                  wsprintf(tmp, "%i", Index);
                  MessageBox(hwnd, tmp, "Выбранный элемент", 0);
                  break;
            }
  }
  return FALSE ;
}


Автор: Earnest 10.1.2007, 21:16
У элементов дерева нет индекса, а есть хандл HTREEITEM. Индекс выделенного элемента можно получить в любой момент с помощью TVM_GETNEXTITEM или TreeView_GetSelection.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)