Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > Панель задач и меню "Пуск"


Автор: Silmarion 1.11.2005, 11:52
Вообщем проблема такая...
Мне на до скрыть строку задач... Я это делаю таким образом
ShowWindow(FindWindow('Shell_TrayWnd', nil), SW_Hide);
Но проблема возникает когда я должен растянуть форму во все окно... а оно растягивается, но там где находится панель задачь остается место от он него... ходя его и не видно... Подскажите как решить проблему... а точнее как сделать строку состояния не просто не видимой, а выполнять одно из свойств "Автоматическое скрытие панели задач"

Автор: Silmarion 1.11.2005, 12:41
Неужели никто не может помочь?

Автор: Romikgy 1.11.2005, 12:47
Перед скрытием включи автохайд smile

Автор: Silmarion 1.11.2005, 12:56
Цитата(Romikgy @ 1.11.2005, 12:47)
Перед скрытием включи автохайд smile

А по точнее можешь сказать как она называется SW_<что-то>
Это <что-то> вообщем то все что я хотел бы узнать...

Автор: Silmarion 1.11.2005, 13:53
Не ужели все больше нет таких людей которые ДЕЙСТВИТЕЛЬНО помогут... вопрос то вобщемто не сложный...



ShowWindow(FindWindow('Shell_TrayWnd', nil), SW_<X>);
Подскажите что надо поставить вместо <X> что бы она не исчезала как со свойством Hide, а именно просто убиралась с экрана и при наводке на нее она появлялась...

Автор: ne0n 1.11.2005, 13:55
Я привильно понял, надо чтобы форма закрыла весь экран?

Автор: Silmarion 1.11.2005, 13:59
Цитата(ne0n @ 1.11.2005, 13:55)
Я привильно понял, надо чтобы форма закрыла весь экран?

Совешенно верно smile
Но с условием что до строки задач никто не мог добраться без меня=))

Автор: ne0n 1.11.2005, 14:05
если не ошибаюсь это должно помочь:

Код
procedure TForm1.FormCreate(Sender: TObject); 
var 
  HTaskbar: HWND; 
  OldVal: LongInt; 
begin 
  try 
    // Find handle of TASKBAR 
    HTaskBar := FindWindow('Shell_TrayWnd', nil); 
    // Turn SYSTEM KEYS off, Only Win 95/98/ME 
    SystemParametersInfo(97, Word(True), @OldVal, 0); 
    // Disable the taskbar 
    EnableWindow(HTaskBar, False); 
    // Hide the taskbar 
    ShowWindow(HTaskbar, SW_HIDE); 
  finally 
    with Form1 do  
    begin 
      BorderStyle := bsNone; 
      FormStyle   := fsStayOnTop; 
      Left        := 0; 
      Top         := 0; 
      Height      := Screen.Height; 
      Width       := Screen.Width; 
    end; 
  end 
end; 

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); 
var 
  HTaskbar: HWND; 
  OldVal: LongInt; 
begin 
  //Find handle of TASKBAR 
  HTaskBar := FindWindow('Shell_TrayWnd', nil); 
  //Turn SYSTEM KEYS Back ON, Only Win 95/98/ME 
  SystemParametersInfo(97, Word(False), @OldVal, 0); 
  //Enable the taskbar 
  EnableWindow(HTaskBar, True); 
  //Show the taskbar 
  ShowWindow(HTaskbar, SW_SHOW); 
end;

Автор: Silmarion 1.11.2005, 14:15
Вобщем то у меня так и было=((
но как не получалось так и не получается смотри от чего я хочу избавиться
http://webfile.ru/607009

А вот код проги точнее ее части
EnableWindow(FindWindow('Shell_TrayWnd', nil),False);
Form1.Height := Screen.Height;
Form1.Width := Screen.Width;
ShowWindow(FindWindow('Shell_TrayWnd', nil), SW_Hide);

Автор: ne0n 1.11.2005, 14:34
Ты пробовал этот код, у меня все так как должно быть, пустого места нет!!!

Автор: Silmarion 1.11.2005, 14:50
В том то и проблема что у меня точно такойже код только
BorderStyle := bsNone;
FormStyle := fsStayOnTop;
Уже вбито project.dpr
Добавлено @ 14:53
Может проблема в том что у меня хр???

Автор: ne0n 1.11.2005, 15:02
Странно, не знаю в чем дело, но на всякий случай вот исходник
не в xp дело у меня тоже xp (sp1)

Автор: Silmarion 1.11.2005, 16:24
Цитата(ne0n @ 1.11.2005, 15:02)
Странно, не знаю в чем дело, но на всякий случай вот исходник
не в xp дело у меня тоже xp (sp1)

Спасибо БОЛЬШОЕ все заработало...
Дело было в том, что значения вормы типа sizeble надо выставлять при Form.Create, а я сразу это выставил в Object Inspector'e

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)