Главная страница
    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.45 MB
Время: 0.01 c
15-1255113419
KilkennyCat
2009-10-09 22:36
2009.12.13
Непонятно, вечный двигатель?


2-1256574396
Dragon-zla
2009-10-26 19:26
2009.12.13
Длина столбца


15-1255207930
Суслик_
2009-10-11 00:52
2009.12.13
Клауд компьютинг в массы...


3-1231324322
Palladin
2009-01-07 13:32
2009.12.13
Параметры ADO и условие like


2-1256244709
Drowsy
2009-10-23 00:51
2009.12.13
BDE Administrator.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский