Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.04;
Скачать: CL | DM;

Вниз

Как получить размеры иконки?   Найти похожие ветки 

 
Jel ©   (2004-05-26 12:42) [0]

Загружаю иконку вызовом
LoadImage(Handle, ResName, IMAGE_ICON, 0, 0, LR_DEFAULTCOLOR);
Рисую ее DrawIconEx (для сохранения оригинальных размеров).

Вопрос - а размеры-то как узнать? (иконка нестандартная и GetSystemMetric не помогает)


 
MBo ©   (2004-05-26 14:19) [1]

проще всего, IMHO, присвоить хэндл иконки TIcon и посмотреть ее свойства.
Альтернатива - GetIconInfo и размеры битмапчиков.


 
Jel ©   (2004-05-26 15:33) [2]


> присвоить хэндл иконки TIcon и посмотреть ее свойства

Пробовал. Всегда 32х32 :(

> Альтернатива - GetIconInfo и размеры битмапчиков.

Видимо так и придется извращаться.


 
Jel ©   (2004-05-26 15:53) [3]

Дальше - хуже. Пишу

 
if GetIconInfo(IconArray[index], IcInfo) then begin
   if GetBitmapDimensionEx(IcInfo.hbmMask, sz) then
     shift := (ICONWIDTH - sz.cx) div 2
   else ShowMessage(SysErrorMessage(GetLastError));
end
else shift := 0;


GetBitmapDimentionEx возвращает нулевые размеры.
Хелп лукаво сообщает -
The function returns a data structure that contains fields for the height and width of the bitmap. If those dimensions have not yet been set, the structure that is returned will have zeroes in those fields.
И добавляет для ясности -
The retrieved dimensions must have been set by the SetBitmapDimensionEx function.

Вроде все ясно - не установил сам, не получишь. Я не установил.

Вопрос - как получить размеры Bitmap?


 
MBo ©   (2004-05-26 15:56) [4]

А GetObject для битмапа не поможет?


 
Jel ©   (2004-05-26 16:44) [5]


> MBo ©   (26.05.04 15:56) [4]

Спасибо. То что нужно.



Страницы: 1 вся ветка

Текущий архив: 2004.07.04;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.061 c
4-1085637835
Stany
2004-05-27 10:03
2004.07.04
Создавть поток в заданном процессе


14-1086971417
cyborg
2004-06-11 20:30
2004.07.04
По телеку идёт финальный концерт "Фабрика звёзд"


4-1083846448
alsov1
2004-05-06 16:27
2004.07.04
Запись CD


8-1082458665
demonyator
2004-04-20 14:57
2004.07.04
Как воспроизвести два и более звуковых файлов одновременно?


1-1087128338
European
2004-06-13 16:05
2004.07.04
Шаг сетки в TChart