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

Вниз

TreeView MouseRightClick   Найти похожие ветки 

 
Aleks   (2009-10-20 16:30) [0]

На форме есть тривьюв с кучей одноуровневых веток. Имеется контекст.меню на правой кнопке мыши чтобы удалять-добавлять ветки в тривьюв. Только вот нужно сначала кликать левой кнопкой мыши чтобы переместить фокус на нужную ветку,а только потом правую и так жать "Удалить",иначе удаляет не ту ветку :(
Код такой:
if TreeView1.Items.Count>0 then
begin
if TreeView1.Selected<>nil then
   TreeView1.Items.Delete(TreeView1.Selected);
end;
Вопрос: как сделать чтобы фокус автоматически перемещелся на указанную при нажатиии правой клавиши мыши ветку? (Свойство TreeView RightClickSelect я установил в True, но это не помогло)


 
Dennis I. Komarov ©   (2009-10-20 16:42) [1]

Сперва присвоить фокус (Selected) там где надо, а потом уже удалять...


 
Aleks   (2009-10-20 17:33) [2]

Каким способом присвоить? :/


 
Dennis I. Komarov ©   (2009-10-20 17:46) [3]

...Selected:=(тот нод который был под курсором Jerry при наступлении соответствующего события)


 
clickmaker ©   (2009-10-20 17:47) [4]

OnMouseDown


 
Dennis I. Komarov ©   (2009-10-20 17:48) [5]

Впрочем, можно удалять сразу нужный нод, а не "выбранный", но это уже как изволит автор GUI...


 
Dennis I. Komarov ©   (2009-10-20 17:49) [6]


> clickmaker ©   (20.10.09 17:47) [4]

На первом скачке... ;)


 
DVM ©   (2009-10-20 17:51) [7]


> Aleks   (20.10.09 16:30)  


procedure TfrmMain.tvCategoriesMouseDown(Sender: TObject;
 Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
 Node: TTreeNode;
begin
 Node := (Sender as TTreeView).GetNodeAt(X,Y);
 if Node <> nil then
   if Button = mbRight then
     SendMessage((Sender as TTreeView).Handle, TVM_SELECTITEM, TVGN_CARET, Longint(Node.ItemId));
end;



 
Aleks   (2009-10-21 11:12) [8]

Спасибо большое за полезные советы!



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

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

Наверх




Память: 0.48 MB
Время: 0.015 c
15-1255465807
Юрий
2009-10-14 00:30
2009.12.13
С днем рождения ! 14 октября 2009 среда


15-1255523606
s_t_d
2009-10-14 16:33
2009.12.13
Книга, где есть основы работы с IDE MS Visual Studio 2008


11-1208885318
=BuckLr=
2008-04-22 21:28
2009.12.13
LZO, чтоб его...


15-1255503976
Человек_ищущий_фильтр
2009-10-14 11:06
2009.12.13
Контент-фильтры


15-1255679649
pavel_guzhanov
2009-10-16 11:54
2009.12.13
Существует ли литература на русском языке