![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как пользоваться функцией PickIconDlg?
Dimaxx © (2003-07-11 23:05:00)
Сабж. Функция валяется в shell32.dll. В хелпе по пятой дельфе ничего нет и в shellapi не прописана. Но она есть!
Nevermind (2003-07-12 22:11:00) [1]
function
PickIconDlg(hOwner: THandle; szFilename: PWideChar; MaxPath: Integer; var
llpIconIndex: integer): bool; stdcall; external "shell32.dll" name "PickIconDlg"; //index 62;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
IconIndex: Integer;
FileName: string;
function CallPickIconDialog(var FileName: string; var IconIndex: Integer): boolean;
var
Path: PWideChar;
begin
Path := AllocMem(MAX_PATH);
try
StringToWideChar(PChar(FileName), Path, Max_Path);
Result := PickIconDlg(0, Path, MAX_PATH, IconIndex);
if Result then
FileName := WideCharToString(Path);
finally
FreeMem(Path, MAX_PATH);
end;
end;
begin
FileName := "C:\Windows\System32\Shell32.dll";
if CallPickIconDialog(FileName, IconIndex) then
( Format("FileName: %s"#13#10"IconIndex: %d", [FileName, IconIndex])
function
PickIconDlg(hOwner: THandle; szFilename: PWideChar; MaxPath: Integer; var
llpIconIndex: integer): bool; stdcall; external "shell32.dll" name "PickIconDlg"; //index 62;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
IconIndex: Integer;
FileName: string;
function CallPickIconDialog(var FileName: string; var IconIndex: Integer): boolean;
var
Path: PWideChar;
begin
Path := AllocMem(MAX_PATH);
try
StringToWideChar(PChar(FileName), Path, Max_Path);
Result := PickIconDlg(0, Path, MAX_PATH, IconIndex);
if Result then
FileName := WideCharToString(Path);
finally
FreeMem(Path, MAX_PATH);
end;
end;
begin
FileName := "C:\Windows\System32\Shell32.dll";
if CallPickIconDialog(FileName, IconIndex) then
ShowMessage(Format("FileName: %s"#13#10"IconIndex: %d", [FileName, IconIndex]));
end;
Suntechnic (2003-07-11 23:36:00) [2]
А проблема то в чём? LoadLibrary и GetProcAddress разве уже отменили?