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

Вниз

Проблема с отображением   Найти похожие ветки 

 
TankMan ©   (2002-11-05 23:15) [0]

Я выдираю иконку из файла,ExtractIcon, и присваиваю полученный хендл, объекту типа TIcon, потом я этот объект перерисовываю на SpeedBtn Canvas.Draw... но проблема в том, что белое содержание иконки просто становиться прозрачным, как этого избежать? В принципе (мне кажется), что просто нужно закрасить icon или SpeedBtn каким-нибудь цветом - отличным от белого, а потом на них иконки рисовать... но как? и правильно ли я думаю? может есть дургой способ...
А и еще... если кто предложит использовать TransparentColor - мне нужно, чтобы было прозрачно все, кроме самого изображения иконки, а белый цвет по краям мне не нужен( впрочем как и любой другой), ну или хотябы, как контролировать цвет по краям...


 
KSergey ©   (2002-11-06 06:33) [1]

На сколько я знаю, при помещении картинки на кнопку за прозрачный принимается цвет леаого ничнего пиксела. (но я не уверен, проверьте)


 
Separator ©   (2002-11-06 06:44) [2]


> KSergey © (06.11.02 06:33)

Это точно


 
TankMan ©   (2002-11-06 11:18) [3]

Может быть... но как это поможет? Если я закрашу этот пиксель например в зеленый, и зеленый станет прозрачным, но ведь остальная область вокруг эконки, будет белой :( А мне то нужно, чтобы облать была прозрачно, и чтобы сами экноки не портились...
или я не правльно понял?


 
_Nicola_   (2002-11-06 11:23) [4]

Заноси иконку в ImageList, а кнопке присваивай ImageIndex. Если надо подробнее - могу привести код.


 
TankMan ©   (2002-11-06 21:00) [5]

У меня кнопок, неизвестное колличество...
Вобщем у меня неизвестное колличество закладок, а на этих закладках неизвестное кол-во кнопок.. :) (вот так все запущено :) ) ,так что, все это в imagelist заносить муторно будет... темболее все это хранить... Да и в чем принципиальная разница ImageList?

З.Ы.
Ты имеешь ввиду, записывать из объекта типа Icon в ImageList или сразу из ExtractIcon в имейджлист?
Если первое, то я не думаю, что будет разница, потому что у меня такое ощущение (я точно не знаю), что вот эта белая "рамка" у иконки есть сразу же в объекте типа Icon :(...


 
Набережных С.   (2002-11-06 22:15) [6]

property TBitmap.TransparentColor. By default, цвет нижней левой точки принимается за transparent. Или Transparent:=false. У кнопки.


 
TankMan ©   (2002-11-07 02:27) [7]

Кусочек кода...
================================================================
PCGames - это табщит
TabsName[i].GamePath[j] - сдесь хранится путь к иконке.
=================================================================
But:=TSpeedButton.Create(PCGames.Pages[i]);
But.Parent:=PCGames.Pages[i];
But.SetBounds(25+inum*65,8,32,32);
inc(inum);
But.Flat:=true;
Icon:=TIcon.Create;
Icon.Width:=32;
Icon.Height:=32;
Icon.Handle:=Extracticon(HInstance,PChar(TabsName[i].GamePath[j]),0);
BitMap:=TBitMap.Create;
BitMap.Width:=32;
BitMap.Height:=32;
//BitMap.TransparentMode:=tmAuto;
BitMap.Canvas.Pixels[0,31]:=$FF0000; <=============
BitMap.Canvas.Draw(-1,-1,Icon);
icon.Free;
but.Glyph:=Bitmap;
but.Name:="btnTab"+inttostr(i)+"Rec"+inttostr(j);
but.OnClick:=btnRunGame;
BitMap.Free;
============================================================
Ну и что получается.... если помеченую строчку убрать, то иконка на кнопке небудет содержать белго, если так как сейчас, то иконка на кнопке на белом фоне. что же делать?


 
TankMan ©   (2002-11-07 02:42) [8]

Эх... не почеловечески конечно...
Я сделал так - просто в цикле, каждый пиксель закрасил нужным цветом...и все ОК, вот только в цикле закрашивать не очень удобно, я вот не знаю, в книжках у меня нет описания этого типа и его методов... есть ли просто заливка цветом?


 
Separator ©   (2002-11-07 06:11) [9]

зайди на algolist.manual.ru и посмотри в разделе графики, может что и откопаешь нужное


 
TankMan ©   (2002-11-07 17:36) [10]

Но там же все на Си++



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

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

Наверх




Память: 0.49 MB
Время: 0.018 c
4-59469
pag77
2002-10-04 18:41
2002.11.18
Как в Windows XP заблокировать Contrl + Alt + Del ?


1-59176
GOD
2002-11-09 02:41
2002.11.18
БАГ и как с ним бороться!!!


1-59179
neodiX
2002-11-07 15:36
2002.11.18
Сохранение координат иконок на декстопе. Взгляните.


1-59083
NiBL
2002-11-06 10:37
2002.11.18
DELPHI 7


1-59161
Arhangel
2002-11-08 18:16
2002.11.18
Как создать ocx без формы?