Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.023 c
1-1079213486
SergeyV
2004-03-14 00:31
2004.04.04
Что такое ApplicationEventer


1-1079301312
Troy
2004-03-15 00:55
2004.04.04
паскаль. integer


3-1078399438
digester
2004-03-04 14:23
2004.04.04
Проблема IBQuery.close;


1-1079076462
Dysan
2004-03-12 10:27
2004.04.04
как ловить ошибки в COM-е


6-1075142091
Просто гость
2004-01-26 21:34
2004.04.04
What about Socket?




   Наверх