Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.07.08;
Скачать: CL | DM;

Вниз

У кого глюк: у TreeView или у меня?   Найти похожие ветки 

 
Hewer ©   (2002-04-15 10:45) [0]

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


 
Song ©   (2002-04-15 11:05) [1]

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


 
Song ©   (2002-04-15 11:06) [2]

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.

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


 
Hewer ©   (2002-04-15 11:13) [3]

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

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


 
Song ©   (2002-04-15 11:19) [4]

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


 
Hewer ©   (2002-04-15 11:20) [5]

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


 
Hewer ©   (2002-04-15 11:23) [6]

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

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


 
Song ©   (2002-04-15 11:36) [7]

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

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:49) [8]

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


 
Hewer ©   (2002-04-15 11:52) [9]

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


 
Hewer ©   (2002-04-15 12:07) [10]

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

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;
И не надо рамку рисовать!!!
Спасибо за помощь :)



Страницы: 1 вся ветка

Текущий архив: 2002.07.08;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.014 c
7-23799
Hewer
2002-04-13 21:07
2002.07.08
Серийный номер BIOS


4-23840
KarlovAF
2002-05-06 05:40
2002.07.08
Как убрать форму из панели задач?


7-23820
Torry
2002-04-12 14:24
2002.07.08
Как сделать чтобы форма не была не активной


4-23853
Alexeyk
2002-05-08 07:22
2002.07.08
Опять про иконку в трее!


1-23666
Mic_2000
2002-06-26 03:39
2002.07.08
Панировщик