![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ИЗМЕНИТЬ РАЗМЕР ЗНАЧКА! [D7, WinME, Win2k, WinXP]
Maxim Pshevlotsky © (2003-08-22 16:29:00)
Народ, помогите плиз! Кто знаить как размер значка(TIcon) изменить программно. Очень надо!
Maxim Pshevlotsky (2003-08-22 18:07:00) [1]
jonni © (22.08.03 17:48) [5]
О, спасибо большое, все работает!
jonni (2003-08-22 17:48:00) [2]
tak bi davno skazalibi
vot naprimer est" variant:
rabotaet dlya vsego (papki... faili... yarliki...itd)
FileName<-sootvetstvenno to ot chego nuzhna ikonka.....
Size<- esli menshe 32 to izvlekaetsya kak vidno malen"kauya ikonka 16x16
esli bol"she sootvetstevvno..32x32...
Canvas<- tokuda risovat".......esli nado
uses ShellAPI;
procedure TForm1.DrawIcon(FileName : String; Canvas:TCanvas; Size: Integer);
var
FileInfo: TSHFileInfo;
begin
if Size<32 then
begin
SHGetFileInfo(PChar(FileName),
0,
FileInfo,
SizeOf(FileInfo),
SHGFI_ICON or SHGFI_SMALLICON);
end
else
begin
SHGetFileInfo(PChar(FileName),
0,
FileInfo,
SizeOf(FileInfo),
SHGFI_ICON or SHGFI_LARGEICON);
end;
DrawIconEx(Canvas.Handle,0,0,FileInfo.hIcon, size, size,0, Canvas.Brush.Handle,DI_NORMAL);
end;
Maxim Pshevlotsky (2003-08-22 17:42:00) [3]
Тогда если можно из выше сказанного вытекает ниже следующее:
Как из ф.-и ExtractAssociatedIcon получить значок 16Х16, а то извлекается значок размером 32Х32 а если изменять его размер программно(DrawIconEx) то значок искажается :(((
jonni (2003-08-22 17:05:00) [4]
сжать ....... что же это значит????
нарисоать как 16х16 или реально как то перебрать пиксели и сделать 16х16....... что дальше хотите делать потом??
если рисовать 16x16 то DrawIconEx(Parent.Canvas.Handle, xLeft, yTop, hIcon, 16, 16, 0, 0, DI_NORMAL);
Maxim Pshevlotsky (2003-08-22 16:52:00) [5]
jonni © (22.08.03 16:31) [1]
Нужно значок размером 32Х32 "сжать" до 16Х16
jonni (2003-08-22 16:31:00) [6]
esli nuzhno prosto risovat" s lyubim razmerom to DrawIconEx