Форум: "Основная";
Текущий архив: 2003.03.10;
Скачать: [xml.tar.bz2];
ВнизПрозрачность формы Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.008 c