Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Обработчик события для TreeView

Ответить
Настройки темы
C/C++ - Обработчик события для TreeView

Аватара для котвася

Пользователь


Сообщения: 147
Благодарности: 5

Профиль | Отправить PM | Цитировать


Подскажите какой обработчик события надо использовать, что бы кликая мышкой на одном из подпунктов TreeView выполнялось действие.

вот написал:
Код: Выделить весь код
private: System::Void treeView1_NodeMouseDoubleClick(System::Object^  sender, System::Windows::Forms::TreeNodeMouseClickEventArgs^  e) 
		 {
			 this->webBrowser1->Navigate("C:\\$p\\LIBRARY\\Debug\\html\\hello.html");
		 }
но это обработчик работает автоматически для всех подпунктов(subPoint), а надо для каждого свой. Не могу понять.

Отправлено: 00:11, 08-11-2010

 

Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


Ну, во первых, в примере, используется обработка двойного нажатия мышки, а не одинарного. Во вторых, все верно, надо только использовать аргумент функции e для обработки нужного элемента:

Код: Выделить весь код
private void treeAll_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
        {
           MessageBox.Show(e.Node.Text.ToString());
         }

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)

Это сообщение посчитали полезным следующие участники:
Показать/скрыть список поблагодаривших

Отправлено: 01:17, 08-11-2010 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для котвася

Пользователь


Сообщения: 147
Благодарности: 5

Профиль | Отправить PM | Цитировать


не понятно да и пример Ваш не работает, у меня компилятор MVS2010U

Отправлено: 02:20, 11-11-2010 | #3


Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


котвася, пример приведен на C#, в С++ немного другой вид кода. Что непонятно то? Приведенный код выводит сообщение с именем узла, на который щелкнули мышью. Соответственно, делаем просто IF и, при совпадении данных, выполняем нужный код.

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 02:42, 11-11-2010 | #4


Аватара для котвася

Пользователь


Сообщения: 147
Благодарности: 5

Профиль | Отправить PM | Цитировать


это я понял что надо сделать иф. не понятно пока как, что с чем сравнивать.
мне надо на с++
Код: Выделить весь код
         if( e==?????????)
                { .... }

Отправлено: 02:47, 11-11-2010 | #5


Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


Цитата котвася:
что с чем сравнивать »
Код: Выделить весь код
if(e.Node.Text == "ИМЯ ВЕТКИ, НА КОТОРУЮ НАДО НАЖАТЬ")
Тестируй в отладке, нажми на ветку, поставь точку останова, закинь в Watch переменную е, смотри ее функции и прочее. Отдельно добавь отладку e.Node и смотри его свойства.

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 03:21, 11-11-2010 | #6


Аватара для котвася

Пользователь


Сообщения: 147
Благодарности: 5

Профиль | Отправить PM | Цитировать


в с++ e не содержит в себе Node, что можно сделать?

Отправлено: 23:53, 11-11-2010 | #7


Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


котвася, а в поиске полазить, поискать, желания не было?:

http://msdn.microsoft.com/ru-ru/libr...ouseclick.aspx
http://www.visualstudiodev.com/visua...ly-75108.shtml
http://www.sql.ru/Forum/actualthread...tid=613991&hl=

Цитата котвася:
System::Windows::Forms::TreeNodeMouseClickEventArgs^ e »
Node обязан быть. Либо не то используешь, либо не там смотришь. Приведи полный код.

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 01:06, 12-11-2010 | #8



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Обработчик события для TreeView

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
EventID - Уведомление Ист. события: HHCTRL Категория события: Отсутствует. Код события: 1903 cleric1985_n Устранение критических ошибок Windows 7 27-11-2015 16:14
EventID - Код события: 20 Источник события: Windows Update Agent EdLev Устранение критических ошибок Windows 3 12-11-2010 16:19
EventID - Источник события: SceCli, код события: 1202, предупреждение 0x534 Michael Устранение критических ошибок Windows 3 28-01-2009 13:25
EventID - [решено] Источник события:Windows Installer 3.1 Код события: 4379 ozzik Устранение критических ошибок Windows 2 31-10-2007 15:41
Категория события: Доступ к службе каталогов - Код события: 565 Kostyl Microsoft Windows NT/2000/2003 1 19-10-2005 08:33




 
Переход