|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
22.01.2008, 21:11 | #1 |
Участник клуба
Регистрация: 23.07.2007
Сообщений: 1,054
|
Прозрачность
ребята, мне нужна абсолютно прозрачная форма.
(delphi) На фомне лежат несколько обьектов - они должны отображаться. и еще. Как убрать фон при этом из под компонента? Например у label или RxGifAnimator? у меня как то был пример, но как то криво он работал.
Писано по д'Эльфийски
|
22.01.2008, 21:21 | #2 |
Регистрация: 12.01.2008
Сообщений: 3
|
У фщрмы есть своство TransparentColor поставь его true и выбери TransparentColorValue(если ещё у каковато компонента на форме цвет будет такойже то он будет тоже прозрачен с цветом текста аналогично) такойже как цвет формы, поставь Border style none и после этого форма будет невидна.
У Labela тоже есть свойство transparent поставь true и всё. |
22.01.2008, 21:29 | #3 |
Участник клуба
Регистрация: 23.07.2007
Сообщений: 1,054
|
нет, не получается так! я уже много раз пробовал! мне нужно, чтоб формы вообще не было видно, а только, то что под ней - windows, но в это же время видны были компоненты формы, а фона под ними не было!
Писано по д'Эльфийски
|
23.01.2008, 00:05 | #4 |
Участник клуба
Регистрация: 23.07.2007
Сообщений: 1,054
|
Я нашел код! но вот с фоном у компонентов проблемы остались.
У кого нибудь есть идеи? unit unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; // это просто кнопка на форме - для демонстрации protected procedure RebuildWindowRgn; procedure Resize; override; public constructor Create(AOwner: TComponent); override; end; var Form1 : TForm1; implementation // ресурс этой формы {$R *.DFM} { Прозрачная форма } constructor TForm1.Create(AOwner: TComponent); begin inherited; // убираем сколлбары, чтобы не мешались // при изменении размеров формы HorzScrollBar.Visible:= False; VertScrollBar.Visible:= False; // строим новый регион RebuildWindowRgn; end; procedure TForm1.Resize; begin inherited; // строим новый регион RebuildWindowRgn; end; procedure TForm1.RebuildWindowRgn; var FullRgn, Rgn: THandle; ClientX, ClientY, I: Integer; begin // определяем относительные координаты клиенской части ClientX:= (Width - ClientWidth) div 2; ClientY:= Height - ClientHeight - ClientX; // создаем регион для всей формы FullRgn:= CreateRectRgn(0, 0, Width, Height); // создаем регион для клиентской части формы // и вычитаем его из FullRgn Rgn:= CreateRectRgn(ClientX, ClientY, ClientX + ClientWidth, ClientY + ClientHeight); CombineRgn(FullRgn, FullRgn, Rgn, rgn_Diff); // теперь добавляем к FullRgn регионы каждого контрольного элемента for I:= 0 to ControlCount -1 do with Controls[I] do begin Rgn:= CreateRectRgn(ClientX + Left, ClientY + Top, ClientX + Left + Width, ClientY + Top + Height); CombineRgn(FullRgn, FullRgn, Rgn, rgn_Or); end; // устанавливаем новый регион окна SetWindowRgn(Handle, FullRgn, True); end; end.
Писано по д'Эльфийски
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
прозрачность | sergei64_89 | Общие вопросы .NET | 1 | 29.07.2008 21:43 |
Прозрачность в PictureBox | _Dmitry | Общие вопросы .NET | 3 | 24.06.2008 20:33 |
Прозрачность | ЧИЖ | HTML и CSS | 5 | 24.10.2007 17:18 |
Прозрачность | MAcK | Общие вопросы Delphi | 2 | 21.03.2007 19:24 |
Прозрачность в Delphi | vicvtor | Win Api | 18 | 14.11.2006 20:10 |