Главная страница
    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.006 c
3-29785
vell
2003-02-18 14:23
2003.03.10
SQL


1-29859
MMF
2003-02-28 13:01
2003.03.10
Как работать с DIB изображениями?


14-30081
vic_774N
2003-02-20 11:30
2003.03.10
Дополнение к теме - ... имея нелицензионную Delphi


14-30114
Vitus
2003-02-19 11:06
2003.03.10
Программы версионного контроля


1-29802
Альф
2003-02-27 15:45
2003.03.10
Уважаемые :) а где можно почитать о использовании OleInitialize ?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский