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

Вниз

Прозрачная форма и StayOnTop   Найти похожие ветки 

 
Vik_Mix   (2004-01-19 22:48) [0]

Почему когда я делаю форму прозрачной (
procedure TForm2.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;
"код из примера")
то свойство формы FormStyle = fsStayOnTop не действует?


 
Vik_Mix   (2004-01-22 22:19) [1]

что... никто не знает?


 
sniknik ©   (2004-01-23 16:46) [2]

может просто у всех все работает? и просто не знают что тебе сказать. (чтобы не обидеть ;о)))  

серьезно
проверил, работает
взял процедуру (выше) поставил

procedure TForm1.RebuildWindowRgn; //Form1 на главном пробовал у тебя Form2 не главное? может имеет значение?
var
FullRgn, Rgn: THandle;
ClientX, ClientY, I: Integer;
begin
 FormStyle:= fsStayOnTop;
 // определяем относительные координаты клиенской части
 ....
и оно так и стало StayOnTop, непонятно почему у тебя по другому может дельфя/виндовс не весде одинаковы.
у меня делфя 7, w2k 4SP. тогда глюк в одном из двух > D6, WinXP.



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

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

Наверх




Память: 0.47 MB
Время: 0.051 c
1-1079079319
Курдль
2004-03-12 11:15
2004.04.04
Вывод потока на принтер.


14-1078751910
Undert
2004-03-08 16:18
2004.04.04
Весна ...


6-1075281713
OlehM
2004-01-28 12:21
2004.04.04
Как узнать время на каком нибудь другом компютере в сетке?


3-1078331942
Rauf
2004-03-03 19:39
2004.04.04
Проблемы с TADOTable


1-1079541387
fc
2004-03-17 19:36
2004.04.04
Расскрашиваем ноды в тривью...