Вниз
Скачать: 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.026 c
2-1171814200
Аликъ
2007-02-18 18:56
2007.03.11
Listview удаление НЕвыделенных строк


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


15-1171402248
Сергей_.
2007-02-14 00:30
2007.03.11
Fortran 77


15-1171382627
xayam
2007-02-13 19:03
2007.03.11
Нестандартный компонент со стандартными свойствами


15-1171262859
Карелин Артем
2007-02-12 09:47
2007.03.11
Витамины пьете? Если да то какие?




   Наверх