![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
смена состояния always on top на лету... [D7, WinXP]
Makhanev Alexander © (2006-12-11 18:58:00)Трививальная задача "сделать окно поверх всех окон в винде" решается через CreateParams. Но как быть если это состояние (поверъ\не поверх) хочется менять на лету?
Anatoly Podgoretsky (2006-12-12 00:45:00) [1]> AndreyRu (12.12.2006 0:42:04) [4]
begin
if flTop then
flTop := false
else
flTop := true;
end;
Как это глаз режет
flTop := not flTop;
AndreyRu (2006-12-12 00:42:00) [2]var
flTop : boolean = false;
...
...
//---------------------------------------------------------------------
.......Button1Click(Sender : TObject);
begin
if flTop then
flTop := false
else
flTop := true;
end;
//---------------------------------------------------------------------
.......FormShow(Sender : TObject);
begin
if flTop then
SetWindowPos(Handle,
HWND_TOPMOST,
Left,
Top,
Width,
Height,
SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE);
end;
//---------------------------------------------------------------------
.......FormActivate(Sender : TObject);
begin
if flTop then
SetWindowPos(Handle,
HWND_TOPMOST,
Left,
Top,
Width,
Height,
SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE);
end;
//---------------------------------------------------------------------
.......FormDeactivate(Sender : TObject);
begin
if flTop then
SetWindowPos(Handle,
HWND_TOPMOST,
Left,
Top,
Width,
Height,
SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE);
end;
//---------------------------------------------------------------------
Чапаев (2006-12-11 20:57:00) [3]> [0] Makhanev Alexander (11.12.06 18:58)
SetWindowPos()
Palladin (2006-12-11 19:38:00) [4]я может и счастливый обладатель d6, но в нем свойство formstyle прекрасно работает. в связи с этим сильно сомневаюсь что оно не работает в d7
umbra (2006-12-11 19:19:00) [5]
SetWindowLong?