moiiin...
danke MathiasSimmack, Luckie und Gollum...
mein Programm funktioniert jetzt, hab ein wenig mit den umwandlungsfunktionen rumgespielt und mit dieser hier funktionierts:
Delphi-Quellcode:
{$DEFINE UNICODE} //for NT5 an higher
procedure TMainForm.PickIcon(hwndicon: HWND;
var filename:
string;
var index: integer);
var
{$IFDEF UNICODE}
buf : widestring;
{$ELSE}
buf :
string;
{$ENDIF}
idx: dword;
begin
// "buf" auf MAX_PATH setzen, & leeren
{$IFDEF UNICODE}
SetLength(buf,MAX_PATH * 2);
{$ELSE}
SetLength(buf,MAX_PATH);
{$ENDIF}
ZeroMemory(@buf[1],length(buf));
// "iconfile" als Ausgangspunkt festlegen
{$IFDEF UNICODE}
buf := widestring(filename);
{$ELSE}
buf :=
string(filename);
{$ENDIF}
idx :=
index;
// Dialog aufrufen
{$IFDEF UNICODE}
if(PickIconDlg(hwndicon,pwidechar(buf),length(buf)+1,idx))
then
{$ELSE}
if(PickIconDlg(hwndicon,pchar(buf),length(buf)+1,idx))
then
{$ENDIF}
begin
{$IFDEF UNICODE}
filename :=
string(buf);
{$ELSE}
filename :=
string(buf);
{$ENDIF}
index := idx;
end;
end;
ich hoffe, dass das auch anderen usern hilft die den "Icon Auswählen"-Dialog von Windows benutzen wollen...
Zitat:
Vormerken für die CodeLib!!!
Ich hoffe, dass diese Funktion dort mal in irgendeiner Form erscheinen wird
Mfg und THX
ToBmAsTeR
ps: ich werd jetzt noch den rest des programms fertigstellen und dann hier mal veröffentlichen