Текущий архив: 2006.12.03;
Скачать: CL | DM;
Вниз
Прозрачная панель Найти похожие ветки
← →
Alex_AA © (2006-10-18 07:05) [0]Добрый день! Подскажите, как сделать панель прозрачной? Чтобы ею можно было накрыть другие компоненты и они были сквозь нее видны. Заранее спасибо!
← →
Пользователь (2006-10-18 12:06) [1]type
TTransparentPanel = class(TGraphicObject)
private
FBorderColor: TColor;
procedure SetBorderColor(AColor: TColor);
protected
procedure Paint; override;
public
constructor Create(AOwner: TComponent); override;
published
property BorderColor: TColor read FBorderColor write SetBorderColor;
property Color;
end;
implementation
constructor TTransparentPanel.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
ControlStyle := ControlStyle - [csOpaque];
BorderColor := clBtnShadow;
Color := clNone;
end;
procedure TTransparentPanel.Paint;
begin
if (Color = clNone) then
Canvas.Brush.Style := bsClear
else
begin
Canvas.Brush.Style := bsSolid;
Canvas.Brush.Color := Color;
end;
if (BorderColor = clNone) then
Canvas.Pen.Style := psClear
else
begin
Canvas.Pen.Style := psSolid;
Canvas.Pen.Color := BorderColor;
end;
Canvas.Rectangle(ClientRect);
end;
procedure TTransparentPanel.SetBorderColor(AColor: TColor);
begin
if (AColor <> FBorderColor) then
begin
FBorderColor := AColor;
Invalidate;
end;
end;
P.S. Но это не TPanel...
← →
Пользователь (2006-10-18 12:07) [2]TGraphicObject
TGraphicControl
← →
RASkov (2006-10-18 12:33) [3]А для чего это надо? Если для того чтобы компаненты были видны и недоступны, то их можно НА панель кинуть, которую в свою очередь сделать недоступной т.е. Panel.Enable:=False;
А по вопросу смотри TBevel
← →
nikola232 © (2006-10-18 13:57) [4]Panel.Visible:=false;
Проще некуда;)
Страницы: 1 вся ветка
Текущий архив: 2006.12.03;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.032 c