Главная страница
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-1255680988
TUser
2009-10-16 12:16
2009.12.13
Сейчас. Про интернет в РФ


15-1255365742
Игорь Шевченко
2009-10-12 20:42
2009.12.13
Ставлю Windows 95. Pan european edition. С дискет :)


2-1256201388
ghost
2009-10-22 12:49
2009.12.13
проверка на недопустимые символы


2-1256714243
Zheksonz
2009-10-28 10:17
2009.12.13
Наполнение массива при объявлении


2-1256209981
Dmitriy
2009-10-22 15:13
2009.12.13
Как создать правильный POST-запрос для E-port?