![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Диалог.
Songoku © (2004-01-07 01:34:00)
Как програмно вызвать это диалоговое окно у определёного фаила?
Nomolos (2004-01-08 00:08:00) [1]
Или просто вызвать ShellAPI.ShellExecute (ShellAPI - библиотека. Если кто забыл, это тоже допустимо :) Всё по хелпу, а вместо "open" или там "print" пишешь "properties". Только не во всех масдаях работает. Лучше предыдущий пример. Он безопаснее :))
Юрий Ж. (2004-01-07 22:34:00) [2]
Вот попробуй еще, тут надо только ShellAPI:
function ShowFilePropertiesDialog(const Handle: HWND; const FileName: string): Boolean;
var
Info: TShellExecuteInfo;
begin
FillChar(Info, SizeOf(Info), #0);
with Info do
begin
cbSize := SizeOf(Info);
lpFile := PChar(FileName);
nShow := SW_SHOW;
fMask := SEE_MASK_INVOKEIDLIST;
Wnd := Handle;
lpVerb := "Properties";
end;
Result := ShellExecuteEx(@Info);
end;
P.S.
Кстати что-то не компилится предидущий пример:
не находит SHObjectProperties...
Songoku (2004-01-07 21:10:00) [3]
Большое спасибо!
Dimaxx (2004-01-07 01:42:00) [4]
Функция вызывает стандартный диалог "Свойства".
Прислал:
Babay_S (27 сентября 2002 г.)
© мои раскопки
Не тестировано
Зависимости:
uses Activex;
[2]
Исходный текст:
{ **** UBPFD *********** by delphibase.endimus.com ****
>> Функция вызывает стандартный диалог "Свойства"
Зависимости:
uses Activex;
Автор: Babay_S
Copyright: мои раскопки
Дата: 27 сентября 2002 г.
***************************************************** }
uses Activex;
Function ObjectProperties (hOwner,uFlags:LongInt;sName,sParam:String): LongInt;
{Функция вызывает диалог "Свойства"
Параметры
hOwner - хэндл родителя.
uFlags - может принимать два значения - 1 для свойств принтера, 2 - для файла
sName - имя принтера или файла. Если вместо имени файла указаны папка или диск, вызывается соответствующее окно свойств. Если указано "" - появляются свойства Системы.
sParam - название вкладки на пропертях, которую надо показать. Если предать пустую строку или несуществующую вкладку - будет показана первая вкладка.
}
implementation
Function ObjectProperties (hOwner,uFlags:LongInt;sName,sParam:String): LongInt;
Var sNameW,sParamW:PWideChar;
sNameL,sParamL:Integer;
begin
SNameL:=Length(sName)+1;
sNameW := CoTaskMemAlloc(SNameL * sizeof(WideChar));
StringToWideChar(SName, SNameW, sNameL);
SParamL:=Length(sParam)+1;
sParamW := CoTaskMemAlloc(SParamL * sizeof(WideChar));
StringToWideChar(SParam, SParamW, sParamL);
Result:=SHObjectProperties (hOwner,uFlags,sNameW,sParamW);
CoTaskMemFree(sNameW);CoTaskMemFree(sParamW);
end;