Delphi-Quellcode:
{$R MYICONS.RES}
procedure TForm1.Button1Click(Sender: TObject);
var
h : hIcon;
// wir brauchen das Handle, nicht das Image, deswegen HICON
begin
h := LoadIcon(hInstance, '
ICON_1');
// in Resource-Datei MyIcons.res ist ein Eintrag Namens ICON_1, Handle dahin erzeugen
Application.Icon.Handle := h;
// Handle an das Programm übergeben
InvalidateRect(Application.Handle,
nil, true);
// Programm update
end;
Also in MyIcons.res existiert ein Icon was den Namen "ICON_1" bekommen hat, dem System ist in der Regel die Größe egal da es von selbst runter/hoch skaliert. Ich hab keinen Check drinn da die Resource bei mir immer existiert. Ob es LowLevel ist kann ich nicht sagen, nur das es bei mir auf diese Weise klappt kann ich sagen.
Code:
SendMessage(hApp, WM_SETICON, ICON_BIG, h);
sollte das
WinApi Äquivalent sein und genügen.
Ich vermute LoadImage() macht nicht das gleiche wie LoadIcon().
Code:
SendMessage(hApp, WM_SETICON, ICON_BIG, LoadIcon(hInstance, 'MAINICON'));
Probier's mal so.