Вызов метода при изменении свойства.

(1/1)

Sergey1985:
Добрый день. Пытаюсь написать что то похожее на VCL но только для консоли. Предположим есть класс
(многое убрал пока из него чтоб не мешалось)
class TLabel
{
   public:
   char Caption[255];
   unsigned char TextColor;
  void SetTextColor(unsigned char color);
};

void TComponent::SetTextColor(unsigned char color)
{
    TextColor = color;
    textcolor(TextColor);
    cprintf(Caption,"%s");
};

после инициализации

TLabel *l;
int main()
{
   l = new TLabel();
 
}
нужно чтобы при изменении свойства
l->TextColor = RED;
вызывался автоматически метод
SetTextColor(unsigned char color); с TextColor в качестве аргумента т.е.
SetTextColor(TextColor);

Возможно ли такое реализовать?
Смотрел в сторону перегрузки операторов но мне кажется что это не то.

OVE:
Мне кажется как-то так:
Код:

class TMyClass
{
   private:
       int FMyColor;
   protected:

   void __fastcall SetMyColor(int NewColor){FMyColor=NewColor;
                                          // и что-то свое дописать можно};

   public:
  __property int MyColor={read=FMyColor, write=SetMyColor};

};

Sergey1985:
Елки палки точно. Спасибо за ответ. ;D

Навигация

[0] Главная страница сообщений