Форум: "Основная";
Текущий архив: 2003.12.16;
Скачать: [xml.tar.bz2];
ВнизTpanel.Transparent Найти похожие ветки
← →
webpauk (2003-12-03 15:51) [0]разумеется такого св-ва нет. Может кто знает как его присобачить?
Точнее говоря, как сделать Tpanel прозрачным
← →
webpauk (2003-12-03 16:15) [1]ну хоть в каком направлении искать 8(
← →
Юрий Зотов (2003-12-03 16:23) [2]Вот основа компонента. Но только основа. Работать будет, но скорее всего, кривовато и потребуется дополнительный код (вероятно, нужно будет обрабатыватьотка WM_PAINT, WM_NCPAINT, WM_ERASEBKGND). Это уж Вы сами. Детали см. в справке API по CreateWindowEx и перечисленным выше сообщениям.
type
TMyPanel = class(TPanel)
private
FTransparent: boolean;
procedure SetTransparent(const Value: boolean);
protected
procedure CreateParams(var Params: TCreateParams); override;
published
property Transparent: boolean
read FTransparent write SetTransparent default False;
end;
procedure TMyPanel.CreateParams(var Params: TCreateParams);
begin
inherited;
if FTransparent then
Params.ExStyle := Params.ExStyle or WS_EX_TRANSPARENT
end;
procedure TMyPanel.SetTransparent(const Value: boolean);
begin
if FTransparent <> Value then
begin
FTransparent := Value;
RecreateWnd
end
end;
← →
Amoeba (2003-12-03 16:24) [3]Создай свой компонет - наследника от TCustomPanel. Перекрой у него конструктор и пропиши в нем
ControlSyle := ControlStyle - [csOpaque];
Кажется так это делается.
← →
TUser (2003-12-03 16:57) [4]Видел такую штуку в CoolDev. По-моему и в JEDI/RxLib тоже есть.
← →
TUser (2003-12-03 17:12) [5]Да, вот в Jedi есть компонент jvPanel. У негт есть св-во Transparent, правда он становится полностью прозрачным.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.12.16;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c