Вниз
Скачать: CL | DM;

проблема с TShellTreeView   Найти похожие ветки 

 
Trible   (2007-02-17 13:43) [0]

Привет всем, использую TShellTreeView для отображения структуры файлов/папок на диске, назначаю для него PopupMenu - контекстное меню, которое должно выскакивать при щелчке правой кнопкой на элементе дерева. Проблема вот в чем: если ПРАВОЙ кнопкой щелкнуть на каком-нибудь элементе, элемент выделится, отобразится контексное меню, но потом выделение сразу перейдет на ранее выбранный элемент (или корневой)! Если же щелкнуть ЛЕВОЙ кнопкой на нужном элементе, потом вызвать контекстное меню правой - все нормально. Как можно сделать, чтобы при ПРАВОМ щелчке выделение не "уходило" с элемента?


 
TRUNK ©   (2007-02-18 19:12) [1]

TShellTreeView.RightClickSelect := true;


 
RASkov   (2007-02-18 19:33) [2]

> [1] TRUNK ©   (18.02.07 19:12)

Оно по умолчанию так включено - непомогает в данном случае [0].

> [0] Trible   (17.02.07 13:43)

Попробуй так:

procedure TForm.ShellTreeView1MouseUp();
begin
 if Button=mbRight then
  ShellTreeView1.GetNodeAt(X,Y).Selected:=True;
end;


 
RASkov   (2007-02-18 19:35) [3]

> [0] Trible   (17.02.07 13:43)

Т.е. лучше так

procedure TForm.ShellTreeView1MouseUp();
var t: TTreeNode;
begin
 if Button=mbRight then begin
  t:=ShellTreeView1.GetNodeAt(X,Y);
  if t<>nil then t.Selected:=True;
 end;
end;


 
Trible   (2007-02-20 16:07) [4]

Спасибо, RASkov, [3] помогло.



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

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



Память: 0.45 MB
Время: 0.041 c
4-1161793884
XProger
2006-10-25 20:31
2007.03.11
Force FeedBack


3-1165934673
barakuda
2006-12-12 17:44
2007.03.11
Добавить поле


1-1168968633
Garacio
2007-01-16 20:30
2007.03.11
найти пустые ячейки в третьем столбце ListView по всем строкам


1-1168958640
alexey_public
2007-01-16 17:44
2007.03.11
Расширенные возможности MessageDlg


4-1162283659
Суслик
2006-10-31 11:34
2007.03.11
TInplaceEdit.Invalidate - помогите понять, что делает метод.




   Наверх