Главная страница
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.016 c
14-23752
kami
2002-06-02 21:23
2002.07.08
Дело такое, у меня есть программа, но она закомпилированна....


14-23736
SPeller
2002-06-05 11:28
2002.07.08
Английский


6-23695
Timon
2002-04-27 11:42
2002.07.08
Неизвестная для меня тема


6-23719
Иван
2002-04-26 18:55
2002.07.08
Где достать эмулятор сетевой карты для тестов?


8-23679
Anar
2002-03-01 00:46
2002.07.08
OpenGL