Перейти к содержанию
Fire Monkey от А до Я

d7d1cd

Пользователи
  • Постов

    277
  • Зарегистрирован

  • Посещение

  • Победитель дней

    7

Сообщения, опубликованные d7d1cd

  1. Здравствуйте. Кладу на форму компонент TRectangle. На него кладу другой ( то есть, первый - родитель второго). У родителя задаю Opacity=0,3 и вижу, что второй прямоугольник тоже стал прозрачным, хотя его Opacity=1. Возможно ли все это настроить так, чтобы родитель был прозрачен, а дитя нет?

  2. Спасибо, что ткнули меня в то же, с чем я бился с утра. Вспомнил про необходимость обязательного указания namespace и все заработало. Но вот незадача: в сообщении заголовок выводится в зависимости от типа сообщения. А как мне вывести свой текст заголовка?

  3. Теперь более понятно стало. А если я буду динамически создавать свой компонент, а через некоторое время работы удалять, то при создании в какое значение я должен установить свойство Stored?

  4. В первом случае я так и сделал. Во втором я сделал как Вы посоветовали (ScrollBox->Align = TAlignLayout::Client) и все получилось. Видимо я по неопытности не сообразил, что TAlignLayout - это и есть указание пространства имен. Просто я вспомнил из языка С++ конструкцию вида using namespace и сказал, что здесь я подобного не использовал.

    Вопрос решен. Спасибо за помощь!

  5. Привет всем.

     

    Хочу программно поменять значение свойства Align.

    Пытался сделать так: 

    ScrollBox->Align = Client

    однако система выдает ошибку. Говорит, что не знает такого символа Client. Как сделать правильно?

  6. Сделал вот так (пока что на примере TImage):

    //--- IconLabel.h -------------------------------------------------------------------------------------------
    class PACKAGE TIconLabel : public TLayout
    {
    private:
        TImage *FIcon;
        void __fastcall SetIcon(TImage *icn);
     __published:
        __property TImage *Icon = {read=FIcon, write=SetIcon};}; 
    
    
    //--- IconLabel.cpp ---------------------------------------------------------------------------------
    void __fastcall TIconLabel::SetIcon(TImage *icn)
    {
    FIcon->Assign(icn);}
    Но желаемого эффекта я не получил. Подскажите, что я опять не так делаю?
  7. М-м-м... Код я добавил. Однако при копировании в дизайнере, содержимое моего компонента не копируется. Копируются только свойства контейнера моих компонентов (TLayout). Ткните меня носом уже :)

  8. Привет всем. К сожалению, мою первую тему закрыли, поэтому разрешите сделать как бы ее продолжение.

    Ярослав мне указал, что при копировании моего настроенного контрола, его настроенное содержимое не копируется по той причине, что мои внутренние компоненты доступны только для чтения. Подскажите, как сделать их доступными для записи.

    Уверен, что мой вопрос элементарен. Но я первый раз пишу свой компонент, поэтому прошу строго не судить.

  9. А можно еще вопрос? Я в свой компонент TIconLabel загрузил картинку. Затем в дизайнере скопировал этот компонент. Однако копия оказалась пустой, то есть, картинка, загруженная в первый контрол, не скопировалась. Так же текст, введенный в Label первого контрола, не копируется. Это нормально?

  10. Еще раз спасибо, Ярослав! Все заработало как надо! Видел много ваших ответов на данном форуме и вот лично убедился в Вашем мастерстве!

  11. Привет всем. Я в С++Builder XE6 создал свой компонент TIconLabel на основе 5-ти других. Код компонента такой:

    //--- IconLabel.h -------------------------------------------------------------------------------------------
    class PACKAGE TIconLabel : public TLayout
    {
    private:
        TImage *FIcon;
        TLabel *FCaption;
        TLabel *FDescription;
        TFloatAnimation *FAnimation;
     
    protected:
     
    public:
        __fastcall TIconLabel(TComponent* Owner);
        __fastcall ~TIconLabel();
     
    __published:
        __property TImage *Icon = {read=FIcon};
        __property TLabel *Caption = {read=FCaption};
        __property TLabel *Description = {read=FDescription};
        __property TFloatAnimation *Animation = {read=FAnimation};
    };
     
    //--- IconLabel.cpp -----------------------------------------------------------------------------------------
    __fastcall TIconLabel::TIconLabel(TComponent* Owner)
        : TLayout(Owner)
    {
    FIcon = new TImage(this);
    FIcon->Parent = this;
    FIcon->HitTest = false;
     
    FCaption = new TLabel(this);
    FCaption->Parent = this;
    FCaption->HitTest = false;
     
    FDescription = new TLabel(this);
    FDescription->Parent = this;
    FDescription->HitTest = false;
     
    FAnimation = new TFloatAnimation(this);
    FAnimation->Parent = this;
     
    HitTest = true;
    }
     
     
     
    __fastcall TIconLabel::~TIconLabel()
    {
    FIcon->Free();
    FCaption->Free();
    FDescription->Free();
    FAnimation->Free();
    }
    

    Установил я этот компонент, положил его на форму, настроил все свои "встроенные" компоненты. Но мне понадобился еще один экземпляр. Я выделил на форме только что мной настроенный свой компонент, нажал Ctrl+C, выделил форму и нажал Ctrl+V. И получил ... как бы не совсем свой компонент. В структуре объектов я стал видеть все компоненты, которые должны были быть внутри моего компонента.

    Подскажите, что я не так сделал?

     

    post-387-0-34979800-1409407979.png

     

    P.S. Пожалуйста, перенесите тему в соответствующий раздел форума.

×
×
  • Создать...