Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > потомок TImage


Автор: gonzales 19.12.2012, 13:55
доброго времени суток!

задача следующая, имеется потомок TImage в котором средствами GDI+ отрисовывается картинка + элементы управления.
Причем элементы управления отрисовываются только в активном Имидже.  Таких картинок на панели находится десяток, соответственно при изменении активного имиджа мне приходится полностью перерисовывать все картинки, что получается достаточно долго.
Мне пришла в голову мысль прикрутить сверху имиджа с картинкой еще один прозрачный timage, как слой, в котором отрисовывать элементы управления. Все вроде просто, но не получается

Код

var
    framelayer:TImage;

constructor TFrameImage.Create(aowner: Tcomponent); // конструктор
  begin
    inherited Create(aowner);
    framelayer:=Timage.Create(self.parent);
    framelayer.Parent:=self.Parent;
    framelayer.Top:=0;
    framelayer.Left:=0;
    framelayer.Width:=300;
    framelayer.Height:=300;
    framelayer.Picture.Bitmap.Width:=framelayer.Width;
    framelayer.Picture.Bitmap.Height:=framelayer.Height;
    framelayer.Transparent:=true;
    framelayer.Visible:=true;
    framelayer.Enabled:=true;

  end;

 

ошибок нет, но в полученном framelayer ничего не отображается, как будто он не видимый.

может предложете еще какой вариант?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)