Вниз
Скачать: 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.022 c
6-1075230412
WM
2004-01-27 22:06
2004.04.04
Как загрузить History в TSringList?


3-1078816080
Russko
2004-03-09 10:08
2004.04.04
Как обозначить в DBGrid поле типа Boolean?


3-1078482618
kalliopiy
2004-03-05 13:30
2004.04.04
BLOB-поле


1-1079549153
dmk
2004-03-17 21:45
2004.04.04
В чем разница?


3-1078807103
Janbolat
2004-03-09 07:38
2004.04.04
Application path




   Наверх