![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Окно поверх панели задач [D6, WinXP]
NorthMan © (2004-06-17 15:29:00)Можно ли как-нибудь поместить окно поверх панели задач?
Делаю SetWindowPos(Application.Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE or SWP_NOACTIVATE); - не помогает. Пытаюсь спрятать taskbar
ShowWindow(FindWindow('Shell_TrayWnd',nil), SW_HIDE); - тоже не помогло. Taskbar пропал, а мое окно все равно обрезано на высоту taskbar'a.
grom (2004-06-18 10:36:00) [1]var
Form1: TForm1;
Cor : TRect; // TaskBar
hButton : THandle; //pusk
HTaskBar :THandle; //Taskbar
-------------------------------------
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Timer1.Interval:=100;
SetWindowPos(Form1.Handle,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE+SWP_NOSIZE);
hTaskBar := FindWindow('Shell_TrayWnd',nil);
hButton:= GetWindow(hTaskBar, GW_CHILD);
GetWindowRect(HTaskBar,Cor);
Form1.Top:=Cor.Top-10;
Form1.Left:=Cor.Left+10;
end;
может это поможет
NorthMan (2004-06-18 08:00:00) [2]В том-то и дело. Ведь сама-то она использует эти функции.
Snap (2004-06-17 21:50:00) [3]Как нибудь можно. Определённые проги такое делают, сам видел.
DeadMeat (2004-06-17 17:43:00) [4]А ты попробуй вызывать её в таймере (ну или в потоке)...
---
...Death Is Only The Begining...
NorthMan (2004-06-17 17:26:00) [5]Да не хотелось бы в реестре гадить, а то при нестандартном завершении вернуть все на свои места не получиться...
Kair (2004-06-17 17:16:00) [6]Думаю, этот параметр должен быть записан в реестре...
NorthMan (2004-06-17 16:59:00) [7]А на другой машине кто флажок снимать будет?
Игорь Шевченко (2004-06-17 16:32:00) [8]Сними у Taskbar флажок "Всегда сверху"