Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.06.2007, 01:37   #1
ЧИЖ
Форумчанин
 
Аватар для ЧИЖ
 
Регистрация: 24.02.2007
Сообщений: 104
Вопрос EXECнуть ITEM от ShellListView

как на любое событие(какое мне надо) выполнить главный(выделенный) пункт контекстного меню от итема в ShellListView возможно даже при скрытой форме на которой находится ShellListView

фишка в том чтобы EXECнуть можно было любые объекты находящиеся там
(открыть папку в проводнике (реальную или виртуальную), открыть файл, запустить приложение или ярлык, открыть виртуальный объект (например компонент панели управления))
Разберемся.......
ЧИЖ вне форума Ответить с цитированием
Старый 27.06.2007, 10:06   #2
mrandrey
Форумчанин
 
Регистрация: 30.03.2007
Сообщений: 124
По умолчанию

Ищи сдесь, тут есть что ты ищешь но нужно его достать:
(в идеале написать клас от ShellListView и сделать функцию SetPathFromID общедоступную)

uses ShellCtrls;
procedure TCustomShellListView.DblClick;
Тут без 100г не розберешся.....
Спасибо не нужно, а на весы слева кликнуть не помешает!!!
mrandrey вне форума Ответить с цитированием
Старый 27.06.2007, 11:25   #3
ЧИЖ
Форумчанин
 
Аватар для ЧИЖ
 
Регистрация: 24.02.2007
Сообщений: 104
Восклицание

при autonavigate=true

если папка или ярлык на папку - откроет в себе
если виртуальный объект или ярлык на него проигнорирует
а если файл то откроет в скрытом режиме (например mp3 будет проигроваться но проирователь будет только в процессах)

а при autonavigate=false
вообще все проигнорирует

а мне надо чтобы все что не нажмешь открывал отдельно и показано
Разберемся.......
ЧИЖ вне форума Ответить с цитированием
Старый 27.06.2007, 12:25   #4
mrandrey
Форумчанин
 
Регистрация: 30.03.2007
Сообщений: 124
По умолчанию

в том же модуле есть процедура:
то что красным удали и тогда при нажатии на enter будет происходить то что тебе нужно

procedure TCustomShellListView.KeyDown(var Key: Word; Shift: TShiftState);
begin
inherited;
if FAutoNavigate then
case Key of
VK_RETURN:
if ssAlt in Shift then
begin
DoContextMenuVerb(SelectedFolder, cmvProperties);
Key := 0;
end
else if (SelectedFolder <> nil) then
{if SelectedFolder.IsFolder then
begin
SetPathFromID(SelectedFolder.Absolu teID);
end
else }
SelectedFolder.ExecuteDefault;
VK_BACK: if not IsEditing then Back;
VK_F5: Refresh;
end;
end;

!!!все свойства у ShellListView стоят по умолчанию!!!

Цитата:
а если файл то откроет в скрытом режиме (например mp3 будет проигроваться но проирователь будет только в процессах)
у меня нормально открывает, (winampom? при том он сразу выскакивает наверх)
Тут без 100г не розберешся.....
Спасибо не нужно, а на весы слева кликнуть не помешает!!!

Последний раз редактировалось mrandrey; 27.06.2007 в 12:35.
mrandrey вне форума Ответить с цитированием
Старый 28.06.2007, 21:10   #5
ЧИЖ
Форумчанин
 
Аватар для ЧИЖ
 
Регистрация: 24.02.2007
Сообщений: 104
Вопрос

вопрос сюда же как на некоторое событие (скажем клик мышью) на некотором компоненте вызвать контекстное меню от "заочно" выбранного итема в ShellListView причем так чтобы меню открылось в том месте экрана где кликнули мышью
Разберемся.......

Последний раз редактировалось ЧИЖ; 29.06.2007 в 00:39.
ЧИЖ вне форума Ответить с цитированием
Старый 29.06.2007, 21:10   #6
ЧИЖ
Форумчанин
 
Аватар для ЧИЖ
 
Регистрация: 24.02.2007
Сообщений: 104
Смущение

можт всетаки че посоветуете
ведь так полюбому можно Total Comander так умеет (при правом клике на кнопке диска открувается тоже самое что и при клике на самом диске например в моем компьютере)

а мне надо чтобы при правом клике на TImage открывалось такое меню (соответствующее итему в shelllistview)
Разберемся.......
ЧИЖ вне форума Ответить с цитированием
Старый 02.07.2007, 09:43   #7
mrandrey
Форумчанин
 
Регистрация: 30.03.2007
Сообщений: 124
По умолчанию

Цитата:
вопрос сюда же как на некоторое событие (скажем клик мышью) на некотором компоненте вызвать контекстное меню от "заочно" выбранного итема в ShellListView причем так чтобы меню открылось в том месте экрана где кликнули мышью
А кто тебе сказал что командер использует shelllistview?
Я думаю что там это все организовано подругому (через апи), а вот как именно я тебе не подскажу, сам с таким никогда не сталкивался. Сорри
Тут без 100г не розберешся.....
Спасибо не нужно, а на весы слева кликнуть не помешает!!!
mrandrey вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ShellListView SiAlex Компоненты Delphi 8 28.05.2014 21:42
ShellListView sezam Компоненты Delphi 0 27.06.2008 06:58
Маска в ShellListView SANTA_KLAUD Общие вопросы Delphi 4 30.05.2008 12:29
Проблема с Caption PopUpMenu Item Comer_Jus Общие вопросы Delphi 3 16.05.2008 14:50
ShellListView ant_f_moro Компоненты Delphi 0 06.01.2008 22:42