Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

У кого глюк: у TreeView или у меня? [WinXP]


Hewer ©   (2002-04-15 10:45:00) 

Помогите разобраться! По какой причине может не работать свойство TTreeView::RightClickSelect? То есть от перемены значений {true, false} ничего не меняется. (Надеюсь что глюк все же у меня :)


Hewer   (2002-04-15 12:07:00) [1]

Решение оказалось простым:

procedure TForm1.TreeView1Mouse>>>Down<<<(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if(Button=mbRight) then
TreeView1.Selected:=TreeView1.GetNodeAt(X,Y);
end;
И не надо рамку рисовать!!!
Спасибо за помощь :)


Hewer   (2002-04-15 11:52:00) [2]

Немного ошибся: Selected все равно указывает на элемент, выделенный левойкнопкой


Hewer   (2002-04-15 11:49:00) [3]

Я проверил вашим способом: сообщение выдается, только когда я на уже выделенный элемент деляю двойной(!) клик правой кнопкой и при том Selected все равно указывает на элемент, выделенный правой кнопкой. Видемо здесь поможет только переустановка windows :)


Song   (2002-04-15 11:36:00) [4]

У меня всё работает. Проверьте:

procedure TForm1.TreeView1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
IF Button=mbRight then ShowMessage(TTreeView(Sender).Selected.Text);
end;


И обратите внимание на эту строчку из хэлпа: " It does not cause the tree view to highlight a new node if the node is selected using the right mouse button.". Т.е. это свойство только возвращает текст в Selected, но не выделяет сам item. Чтобы его выделить обрабатывайте нажатие и рисуйте пунктирную рамку.


Hewer   (2002-04-15 11:23:00) [5]

>А обработчик на onMouse* никаких не писали? TPopupMenu не назначен?

Я создал новое приложение, новую форму, на ней "дерево" и изменил только это свойство, и все равно не работает :(((((


Hewer   (2002-04-15 11:20:00) [6]

А вообще мне надо сделать контестное меню для элементов, вызываемое нажатием правой кнопки (например, как в "Диспетчере устройств" в windows)


Song   (2002-04-15 11:19:00) [7]

А обработчик на onMouse* никаких не писали? TPopupMenu не назначен?


Hewer   (2002-04-15 11:13:00) [8]

>А в чём выражается его "нерабочесть"?

В том, что правой кнопкой мыши итем выделить нельзя. Т.е я нажимаю на итем, он выделяется, как только отпускаю кнопку, выделяется тот же, котрой был выделен до нажатия. В хелпе написано что-то подобное, но еще там написано, что свойство Selected должно менятся, а оно не меняется :(


Song   (2002-04-15 11:06:00) [9]

RightClickSelect affects only the value of the Selected property. It does not cause the tree view to highlight a new node if the node is selected using the right mouse button.

Проблема осталась? Может у Вас неверное понимание значения этого свойства?


Song   (2002-04-15 11:05:00) [10]

А в чём выражается его "нерабочесть"?


Наверх

Титульная страница Поиск, карта сайта Написать письмо