Popup menu

Только для тех, кто пишет плагины под Total Commander. Обмен опытом, решение проблем.

Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik

Ответить
Призрак
Сообщения: 16
Зарегистрирован: Пн окт 02, 2006 10:10

Popup menu

Сообщение Призрак »

Добрый день! Можно ли в файловом плагине создать собственное popup меню, т.е. чтобы при щелчке на файле в моем плагине, появлялось мое меню. И как задать свойства для файлов в моем плагине?

Заранее спасибо!
Аватара пользователя
D1P
Сообщения: 2987
Зарегистрирован: Пн дек 20, 2004 18:30
Откуда: Тбилиси
Контактная информация:

Сообщение D1P »

Добрый день! Можно ли в файловом плагине создать собственное popup меню, т.е. чтобы при щелчке на файле в моем плагине, появлялось мое меню.
Собственное попап-меню средствами WFXAPI нельзя. Думаю, если порыться, то можно перекрыть менюху средствами WinAPI. но это будет сильно нехорошо.
И как задать свойства для файлов в моем плагине?
Если под свойствами понимаются атрибуты, то они задаются в структуре FindData, в поле dwFileAttributes. Например каталог будет иметь атрибут FILE_ATTRIBUTE_DIRECTORY, скрытый каталог - FILE_ATTRIBUTE_DIRECTORY+FILE_ATTRIBUTE_HIDDEN и т.д. См. справку по WinAPI.
Аватара пользователя
Nik
Сообщения: 583
Зарегистрирован: Сб янв 01, 2005 13:00
Откуда: Киров
Контактная информация:

Сообщение Nik »

Вот, кстати, ещё одна штука, которую стоило бы добавить в API плагинов... Порой так не хватает таких вот мелочей... :(
Качественный хостинг.
Аватара пользователя
funduk
Сообщения: 1515
Зарегистрирован: Вт авг 16, 2005 16:00
Откуда: Санкт-Петербург

Сообщение funduk »

majkinetor с оффорума уже мутил на словах как это реализуется через WINAPI.
Призрак
Сообщения: 16
Зарегистрирован: Пн окт 02, 2006 10:10

Сообщение Призрак »

Нет под свойствами понимается, /правой мышки по файлу/свойства, у меня сейчас появляется окошко с пустыми полями, а этого меню, так блин не хватате :(
Аватара пользователя
D1P
Сообщения: 2987
Зарегистрирован: Пн дек 20, 2004 18:30
Откуда: Тбилиси
Контактная информация:

Сообщение D1P »

А, это...
В этих "свойствах" ты можешь делать что угодно. Вообще-то там никакого пустого окна появляться не должно - только то, что описано в коде.
Вызов "свойств" происходит в функции FsExecuteFile, если параметр Verb равен 'properties'. Простейший код:

Код: Выделить всё

function FsExecuteFile(MainWin:thandle;RemoteName,Verb:pchar):integer; stdcall;
var
Begin
result:=FS_EXEC_OK;
if verb='properties' then
 begin
 MessageBox(MainWin,RemoteName,'File properties',mb_ok);
 end;
End;
Призрак
Сообщения: 16
Зарегистрирован: Пн окт 02, 2006 10:10

Сообщение Призрак »

Спасибо!!
Ответить