Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.014 c
2-1256714243
Zheksonz
2009-10-28 10:17
2009.12.13
Наполнение массива при объявлении


2-1256123784
defen
2009-10-21 15:16
2009.12.13
тсключение EDBEngineError


11-1209725067
ILPU
2008-05-02 14:44
2009.12.13
Как масштабировать изображение по размерам окна?


2-1256122585
FEV
2009-10-21 14:56
2009.12.13
Число в строке...


11-1209206318
zldo
2008-04-26 14:38
2009.12.13
ListView в DLL




   Наверх