Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
6-29983
Poker
2003-01-12 17:38
2003.03.10
Как в Win.9x запретить подключение к интернету некоторым компам л


3-29716
Klim Samgin
2003-02-18 12:54
2003.03.10
ADO + Paradox


1-29840
Paxer
2003-02-27 18:56
2003.03.10
TDateTimePicker c возможностью ввода пустой даты?


4-30172
Stager
2003-01-19 20:42
2003.03.10
Drag&Drop в обратную сторону?


1-29918
denick
2003-02-21 17:00
2003.03.10
Вопрос про ScrollBar





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский