Главная страница
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.018 c
4-23843
stainer a
2002-05-10 14:32
2002.07.08
Приостановка и блокировка компа в win2000-xp


14-23773
SPeller
2002-06-06 10:29
2002.07.08
Компилятор Дельфей


3-23451
PTE
2002-06-14 13:57
2002.07.08
DBgrid что-то не понимаю. Может кто поделится исходником?


4-23841
whc
2002-05-10 13:33
2002.07.08
Мышь над StringGrid-ом


3-23473
Ivan_A
2002-06-13 23:43
2002.07.08
Где найти InstallShield