Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.01.09;
Скачать: [xml.tar.bz2];

Вниз

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 вся ветка

Форум: "Основная";
Текущий архив: 2004.01.09;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.012 c
14-25555
tipman
2003-12-18 15:18
2004.01.09
Где взять workshop?


1-25304
SoS
2003-12-22 18:35
2004.01.09
А где взять TSpinEdit ?


7-25627
MakNik
2003-10-29 14:59
2004.01.09
Как програмно создать новую папку?


9-25175
INCOGNITO
2003-06-22 04:38
2004.01.09
Глючный Тетрис.


1-25278
Masa
2003-12-23 14:56
2004.01.09
Exception





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский