Witam, mam problem z Delphi. Stworzyłem generator pliku i chciałbym aby w generatorze była możliwość wyboru ikony. Oczywiście "program właściwy" mam jako dołączony zasób i po kliknięciu na Button tworzy się plik z odpowiednimi parametrami. Jak zrobić, aby przed wygenerowaniem tego pliku możnabyłoby wybrać wcześniej dla niego ikone? Mam kawałek kodu odpowedzialnego za wybór ikony. Ikona wybierana jest poprzez przycisk "Zmień", po czym otwiera się okno wyboru pliku .ico, a gdy go wybierzemy to pojawia się on na formie jako Image2. Jak zatem zrobić, aby obrazek Image2 był automatycznie ikoną nowego generowanego pliku?
Oto kod odpowedzialny za wybór ikony:
procedure TForm1.Button2Click(Sender: TObject);
var index:word;
begin
if OpenDialog1.execute then
begin
image2.Picture.bitmap:=tbitmap.create;
image2.Picture.Bitmap.Width:=40;
image2.Picture.Bitmap.Height:=40;
image2.Picture.Bitmap.Canvas.Brush.Color:=Form1.Color;
image2.Picture.Bitmap.Canvas.Rectangle(0,0,image2.Width,image2.Height);
index:=0;
DrawIcon(image2.Picture.Bitmap.Canvas.Handle,4,4,
ExtractAssociatedIcon(hinstance,Pchar(OpenDialog1.FileName),
index));
end;
end;
I kawałek kodu odpowiedzialny za generacje pliku:
if ListBox1.Items.Strings[ListBox1.ItemIndex] = 'exe' then begin
R := TResourceStream.Create(hInstance, 'serwer', RT_RCDATA);
R.SaveToFile(GetCurrentDir + '/' + Edit4.Text + '.exe');
R.Free;
AddKBToFile(GetCurrentDir + '/' + Edit4.Text + '.exe', StrToInt(Edit5.Text));
SaveToFile(GetCurrentDir + '/' + Edit4.Text + '.exe', Edit1.Text + '|' + Edit2.Text);
end;