C/C++ - Обработчик события для TreeView

Ответить
Аватара пользователя
котвася

C/C++ - Обработчик события для TreeView

Сообщение котвася »

Подскажите какой обработчик события надо использовать, что бы кликая мышкой на одном из подпунктов 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), а надо для каждого свой. Не могу понять.
Аватара пользователя
Delirium

Re: C/C++ - Обработчик события для TreeView

Сообщение Delirium »

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





Код:

Код: Выделить всё

private void treeAll_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
        {
           MessageBox.Show(e.Node.Text.ToString());
         }
Аватара пользователя
котвася

Re: C/C++ - Обработчик события для TreeView

Сообщение котвася »

не понятно да и пример Ваш не работает, у меня компилятор MVS2010U
Аватара пользователя
котвася

Re: C/C++ - Обработчик события для TreeView

Сообщение котвася »

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

Re: C/C++ - Обработчик события для TreeView

Сообщение котвася »

это я понял что надо сделать иф. не понятно пока как, что с чем сравнивать.

мне надо на с++



Код:

Код: Выделить всё

         if( e==?????????)
                { .... }
Аватара пользователя
Delirium

Re: C/C++ - Обработчик события для TreeView

Сообщение Delirium »

Цитата котвася:



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






Код:

Код: Выделить всё

if(e.Node.Text == "ИМЯ ВЕТКИ, НА КОТОРУЮ НАДО НАЖАТЬ")

Тестируй в отладке, нажми на ветку, поставь точку останова, закинь в Watch переменную е, смотри ее функции и прочее. Отдельно добавь отладку e.Node и смотри его свойства.
Аватара пользователя
котвася

Re: C/C++ - Обработчик события для TreeView

Сообщение котвася »

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

Re: C/C++ - Обработчик события для TreeView

Сообщение котвася »

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



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
C/C++ - Обработчик события для TreeView




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

Вернуться в «Программирование и базы данных»