__property bool Transparent = {read=FTransparent, write=SetTransparent};
void __fastcall TTestButton::SetTransparent(bool Value)
{
FTransparent=Value;
if (Value)
{
ControlStyle = ControlStyle >> csOpaque;
}
else
{
ControlStyle = ControlStyle << csOpaque;
}
FNormalStateImage->Bitmap->Transparent=Value;
Invalidate();
}
ControlStyle - csOpaque
создаю компонент на основе TCustomControl. на нем отрисовываю картинку. добавляю в компонент свойство Transparent
Код:
в итоге при установке этого свойства в true получаю не совсем то, что надо (см. картинку). в хелпе написано, что csOpaque отвечает как раз за то, чтобы серый фон не отрисовывался, но у меня, как видите, фон все равно отрисовывается. попробовал создать компонент от TGraphicControl - все в порядке. почему тогда это не работает с TCustomControl?