Страница 1 из 1

Popup menu

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

Заранее спасибо!

Добавлено: Чт окт 26, 2006 15:39
D1P
Добрый день! Можно ли в файловом плагине создать собственное popup меню, т.е. чтобы при щелчке на файле в моем плагине, появлялось мое меню.
Собственное попап-меню средствами WFXAPI нельзя. Думаю, если порыться, то можно перекрыть менюху средствами WinAPI. но это будет сильно нехорошо.
И как задать свойства для файлов в моем плагине?
Если под свойствами понимаются атрибуты, то они задаются в структуре FindData, в поле dwFileAttributes. Например каталог будет иметь атрибут FILE_ATTRIBUTE_DIRECTORY, скрытый каталог - FILE_ATTRIBUTE_DIRECTORY+FILE_ATTRIBUTE_HIDDEN и т.д. См. справку по WinAPI.

Добавлено: Чт окт 26, 2006 19:00
Nik
Вот, кстати, ещё одна штука, которую стоило бы добавить в API плагинов... Порой так не хватает таких вот мелочей... :(

Добавлено: Чт окт 26, 2006 20:16
funduk
majkinetor с оффорума уже мутил на словах как это реализуется через WINAPI.

Добавлено: Пт окт 27, 2006 06:19
Призрак
Нет под свойствами понимается, /правой мышки по файлу/свойства, у меня сейчас появляется окошко с пустыми полями, а этого меню, так блин не хватате :(

Добавлено: Пт окт 27, 2006 12:23
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;

Добавлено: Пт окт 27, 2006 13:39
Призрак
Спасибо!!