Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.03.11;
Скачать: [xml.tar.bz2];

Вниз

проблема с 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 вся ветка

Форум: "Начинающим";
Текущий архив: 2007.03.11;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.038 c
2-1171790032
VadimSpb
2007-02-18 12:13
2007.03.11
Создание текстового файла в ASCII


2-1171897635
FIL-23
2007-02-19 18:07
2007.03.11
отслеживание нажатия ентера


4-1162327378
wp2
2006-10-31 23:42
2007.03.11
Как в библиотеке узнать какая ее вызвала программа?


3-1160997686
Ольга
2006-10-16 15:21
2007.03.11
Проблема с Rave 5.0


2-1171639805
@gent
2007-02-16 18:30
2007.03.11
Создание папки





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский