Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.03.10;
Скачать: CL | DM;

Вниз

Прозрачность формы   Найти похожие ветки 

 
Smolin   (2003-02-27 13:18) [0]

Подскажите пожалуста как сделать цвет формы прозрачным, но чтоб все объекты на ней были виды ???

И еще вопрос есть ли функция которая выставляла бы частоту обновления экрана ?


 
Bizon ©   (2003-02-27 13:41) [1]

constructor TForm1.Create(AOwner: TComponent);
begin
inherited;
HorzScrollBar.Visible:= False; // убираем сколлбары, чтобы не мешались
VertScrollBar.Visible:= False; // при изменении размеров формы
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;



 
100ляров   (2003-02-27 15:35) [2]

Зачем так извращаться?
В каком-нить обработчике события, например OnShow пишем

Brush.Style:=bsClear;

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



Страницы: 1 вся ветка

Текущий архив: 2003.03.10;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.015 c
1-29918
denick
2003-02-21 17:00
2003.03.10
Вопрос про ScrollBar


14-30029
trotski
2003-02-24 13:29
2003.03.10
Дорвался до инета!


14-30077
Сатир
2003-02-21 15:21
2003.03.10
Футбол


1-29793
Alexander_K
2003-02-27 16:33
2003.03.10
Калькулятор


1-29841
ROk
2003-02-28 10:46
2003.03.10
Поиск текста