Вниз
Скачать: CL | DM;

TTreeView. Отслеживаем изменение состояние узла   Найти похожие ветки 

← →
AlexDBases ©   (2003-12-23 10:56) [0]

Как узнать что состояние какого либо узла изменилось.
Конкретнее - как узнать (какое событие) происходить при нажатии на checkbox узла дерева.
Заранее спасибо!


← →
olookin ©   (2003-12-23 11:06) [1]

Пара OnCollapsed/OnCollapsing - свертывание узла
Пара Onexpanded/OnExpanding - развертывание узла


← →
AlexDBases ©   (2003-12-23 11:17) [2]

ты вообще о чем?.
Сори я наверно виноват. Checkbox - это такой квадратик с галочкой =)))) . Свернуть и развернуть узел я могу...=). Это не выход.


← →
Тимохов ©   (2003-12-23 11:23) [3]

Анализируй OnClick или что-там еще (сам разберешься) и самое главное получай инфу о том, куда пришелся клик с помощью function GetHitTestInfoAt(X, Y: Integer): THitTests;


← →
Тимохов ©   (2003-12-23 11:24) [4]

И вообще пример по GetHitTestInfoAt почитай - там все есть.


← →
alexdbases ©   (2003-12-23 11:29) [5]

нашел в MSDN
#define UM_CHECKSTATECHANGE (WM_USER + 100)case WM_NOTIFY:
{
LPNMHDR lpnmh = (LPNMHDR) lParam;
TVHITTESTINFO ht = {0};

if(lpnmh->code == NM_CLICK) && (lpnmh->idFrom == IDC_MYTREE))
{
DWORD dwpos = GetMessagePos(); // include <windowsx.h> and <windows.h> header files
ht.pt.x = GET_X_LPARAM(dwpos);
ht.pt.y = GET_Y_LPARAM(dwpos);
MapWindowPoints(HWND_DESKTOP, lpnmh->hwndFrom, &ht.pt, 1); TreeView_HitTest(lpnmh->hwndFrom, &ht);

if(TVHT_ONITEMSTATEICON & ht.flags)
{

PostMessage(hWnd, UM_CHECKSTATECHANGE, 0, (LPARAM)ht.hItem);
}
}
}
break;case UM_CHECKSTATECHANGE:
{
HTREEITEM hItemChanged = (HTREEITEM)lParam;
/*
Retrieve the new checked state of the item and handle the notification.
*/
}
break;


Но вот пака сложности с переводом на delphi


← →
Тимохов ©   (2003-12-23 11:30) [6]

А все-таки почитай выше.
Это уже реализовано в TTreeView.


← →
alexdbases ©   (2003-12-23 11:46) [7]

Извини ты прав все вроде разобрался.......спасибо.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.039 c
14-25552
bobtubob
2003-12-18 10:04
2004.01.09
нужна очень мощная система математической обработки


3-25260
Opilki_Inside
2003-12-09 22:13
2004.01.09
Альтернатива DBGrid


1-25403
Sirakuz
2003-12-24 18:13
2004.01.09
Поведение OwnerDrawVariable ListBox при докировании


14-25599
mfender
2003-12-15 07:52
2004.01.09
Теперь в Штатах все встанет на свои места!


1-25287
TATIANA
2003-12-23 09:49
2004.01.09
IMAGE




   Наверх