Вниз
Скачать: CL | DM;

Диалог.   Найти похожие ветки 

← →
Songoku ©   (2004-01-07 01:34) [0]

Как програмно вызвать это диалоговое окно у определёного фаила?


← →
Dimaxx ©   (2004-01-07 01:42) [1]

Функция вызывает стандартный диалог "Свойства".

Прислал:
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;


← →
Songoku ©   (2004-01-07 21:10) [2]

Большое спасибо!


← →
Юрий Ж. ©   (2004-01-07 22:34) [3]

Вот попробуй еще, тут надо только 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...


← →
Nomolos ©   (2004-01-08 00:08) [4]

Или просто вызвать ShellAPI.ShellExecute (ShellAPI - библиотека. Если кто забыл, это тоже допустимо :) Всё по хелпу, а вместо "open" или там "print" пишешь "properties". Только не во всех масдаях работает. Лучше предыдущий пример. Он безопаснее :))



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.023 c
11-43421
Puke Zero
2003-06-26 00:19
2004.03.14
EditBox.Options


3-43248
sveta
2004-02-13 07:55
2004.03.14
QuickRep выдает ошибку!


7-43915
KOT
2003-12-15 22:59
2004.03.14
Как задать проверку на день недели?


1-43424
Manulo
2004-03-02 17:36
2004.03.14
Указатель в текстовом файле


6-43744
delpher_gray
2004-01-08 13:16
2004.03.14
WinSock - первая программа




   Наверх