Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Прозрачная форма и StayOnTop [D6, WinXP]


Vik_Mix ©   (2004-01-19 22:48:00) 

Почему когда я делаю форму прозрачной (
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 не действует?


sniknik   (2004-01-23 16:46:00) [1]

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

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

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


Vik_Mix   (2004-01-22 22:19:00) [2]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо