Не могу по нормальному загрузить иконку в заголовок формы из файла. Сделал иконку, состоящую из икон разного размера (16,32,48,64) 32бита + альфа канал. Сперва делал так:
| Код | Icon := TIcon.Create; try Icon.LoadFromFile(IconFile); MyMainForm.Icon.Assign(Icon); Application.Icon.Assign(Icon); finally Icon.Free; end;
|
Но иконка загружается по уродски размером в 16x16 точек, без прозрачности.
Далее делал так:
| Код | IconH := LoadImage(0, PChar(IconFile), IMAGE_ICON, 0, 0, LR_DEFAULTSIZE or LR_LOADFROMFILE); try MyMainForm.Icon.Handle := CopyIcon(IconH); Application.Icon.Handle := CopyIcon(IconH); finally DestroyIcon(IconH); end;
|
Загружается уже с прозрачностью, но стандартного размера 32x32, и в заголовке формы и на тулбаре выглядит уродливо, а по Alt+Tab нормально.
Указываешь явно размер, тогда по Alt+Tab начинает масштабироваться из 16x16 в 32x32, также некрасиво:
| Код | IconH := LoadImage(0, PChar(IconFile), IMAGE_ICON, 16, 16, LR_LOADFROMFILE); |
Что делать? MSDN пока не помог... |