Also ich weiß, dass wir das schon mal hatten. Ich meine Mathias Simmack hätte da mal was gepostet, aber ich finde es nicht mehr. Ich habe aber mal etwas gesucht, da es mich jketzt auch interessiert. Gefunden haben ich was in der JVCL:
http://www.delphi-source.de/jedi/jvcl/komponenten.php -> TJvChangeIconDialog das scheint es zu sein. Aber nur deswegen alles installieren würde ich nicht. Ich suche noch mal weiter.
So wenn man weiß wo nach man suchen muss, ist es ganz einfach. Das Mistding läuft unter dem Namen
PickIconDialog.
Dabei handelt es sich um eine undokumentierte Funktion in der Shell32.dll und muss über den ordinalen Wert importiert werden. 8Deswegen habe ich sie in der
DLL auch nicht gefunden.
) Warum Microsoft diese Funktion versteckt hat weiß der Geier.
Delphi-Quellcode:
function PickIconDialog(
Handle: THandle; FileName: PChar; FileNameSize: integer;
var IconIndex: integer): Boolean;
stdcall;
external '
shell32.dll'
index 62;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
IconIndex: Integer;
begin
if PickIconDialog(
Handle, PChar('
shell32.dll'), Length('
shell32.dll'), IconIndex)
then
ShowMessage(IntTOStr(IconIndex));
end;
Vormerken für die CodeLib!!!
Unbedingt aufzunehmende Stichworte, damit man es wieder findet (Da sie im Beitrag so nicht vorkommen.):
icon
auswahl
dialog
system
auswahldialog