Вниз
Скачать: 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.016 c
4-25641
dream
2003-11-06 12:18
2004.01.09
как создать новую форму программно?


7-25620
Neep
2003-10-28 08:37
2004.01.09
Кто нибудь работал с пультом ДУ от тюнера


7-25629
*FoX*
2003-10-26 17:56
2004.01.09
Интерфейс


3-25235
zzzrrv
2003-12-10 12:12
2004.01.09
Отчет


7-25635
Yegor
2003-10-25 21:05
2004.01.09
Скорость




   Наверх