Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Bitmap ! ! !


Демонов Е.В. ©   (2002-09-30 14:44:00) 

У меня есть компонент - У него есть всойство Glyph:Tbitmap и свойство Enable:Boolean , Как мне зделать так чтобы при Enable=false Glyph получался серым, т.е. как у TBitBtn ?
пробовал разобратся в исходниках TBitBtn, но что то не очень у меня полуилось. Помогите !!!!!!!!!!!!!!!


Slym   (2002-10-02 06:40:00) [1]

Попробуй так:

var BBitmap:TBitmap;
begin
BBitmap:=TBitmap.Create;
BBitmap.assign({Цветной битмап});
BBitmap.Monochrome:=true;
Canvas.Draw(x,y,BBitmap);
BBitmap.Free;
end;

//"изложение" по изходникам TImageList


Демонов Е.В.   (2002-09-30 17:35:00) [2]

>>Игорь Шевченко
Как Делает. Ну подскажите!

>>Рыжик
>>Что касается случая, когда NumGliph=1 и not Enabled, то там >>изменение цвета происходит за счёт TControl, а не BitBtn.

Так как происходит - я рылся в исходниках так и не понял

P.S.: Мой компанент прямой потомок TComponent.


Набережных С.   (2002-09-30 17:33:00) [3]


> Демонов Е.В. ©

Тебе будет интересен TButtonGlyph.CreateButtonGlyph.


Игорь Шевченко   (2002-09-30 17:01:00) [4]

Рыжик © (30.09.02 16:15)

> А НЕ ДЕЛАЕТ ЦВЕТНУЮ СЕРОЙ!!!


Мне очень жаль, но делает :-)

С уважением,


Рыжик   (2002-09-30 16:40:00) [5]


> Демонов Е.В. © (30.09.02 15:42)
> А попробуй не трогать это свойство - вставь одну картинку
> и Enable:=False - оба и NumGlyphs тут ни причём .

Что касается случая, когда NumGliph=1 и not Enabled, то там изменение цвета происходит за счёт TControl, а не BitBtn.


Рыжик   (2002-09-30 16:15:00) [6]

У BitBtn будет серые иконки, если картинка в Gliph содержит на самом деле две картинки друг за другом. NumGliph указывает, сколько картинок в Gliph, а затем BitBtn сам переключает нужную. А НЕ ДЕЛАЕТ ЦВЕТНУЮ СЕРОЙ!!!


Демонов Е.В.   (2002-09-30 15:42:00) [7]

>>Хонь-юнь
А попробуй не трогать это свойство - вставь одну картинку и Enable:=False - оба и NumGlyphs тут ни причём .


Хонь-юнь   (2002-09-30 15:34:00) [8]

Ещё у BitBtn есть такое свойство NumGlyphs, интересно, зачем оно? Может, здесь собаки зарыты?


Polevi   (2002-09-30 15:28:00) [9]

Glyph.Canvas.Brush.Color:=clBtnFace;
Glyph.Canvas.FillRect(Glyph.Canvas.ClipRect);


Демонов Е.В.   (2002-09-30 15:17:00) [10]

>>CreateCompatibleBitmap
И Что энта ф-ия делает ?


Демонов Е.В.   (2002-09-30 15:15:00) [11]

Да рисовать я умею - я только не знаю как из цветного БИТМАПА Сделать чёрно-белый (ДИЗЕйБЛьНЫЙ).


Polevi   (2002-09-30 15:11:00) [12]

блин, все напутал
вообщем тебе надо CreateCompatibleBitmap


Polevi   (2002-09-30 15:09:00) [13]

CreateCompatibleDC, и рисуй на этом DC что хочешь


Наверх

Титульная страница Поиск, карта сайта Написать письмо