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


Автор: ProgrammistDelphi 2.2.2005, 20:18
Нужно раскрыть форму так, чтобы за нею не было ничего, ни панели, др. форм, чтобы у формы не было кнопок: свернуть, развернуть и т.д. Ну типа как игрушка при запуске. Помогите плиз.

Перерыл всю свою литературу ничего не нашел. Если кто знает раскажите пл..з с коментариями smile

Автор: mvdr 2.2.2005, 20:26
при FormCreate делаешь ВСЕ объекты не видимыми ( visible:=false ). Отключение кнопок ( свернуть, развернуть, закрыть ) - это свойство BorderIcon - ставь все в false.
Регулировать видимость соответственно присваивание свойства Visible:=true.
если я правильно понял вопрос...
P.S. совет - лучше все объекты загони на одну панель ( Panel1) - придется прописать всего одну строчку Panel1.Visible:=true ( or false)
Добавлено @ 20:27
забыл. Form1.Align:=alClient - это что бы во весь экран

Автор: ProgrammistDelphi 2.2.2005, 20:40
Конечно за это спасибо, но это я знаю, а тем самым желаемого эффекта не добился. Мне нужно, чтобы мое приложение скрывало "Панель ПУСК ТРЕЙ и тд." и чтобы заголовок окна не был виден. smile

Автор: mvdr 2.2.2005, 20:47
заголовок - это свойство формы BorgerStyle:=bsNone.

Автор: ProgrammistDelphi 2.2.2005, 20:49
У меня это свойство так и выставленно.
Добавлено @ 20:52
Femida Вот ты наверное когда-нибудь игру запускал? У тебя появляется черный экран, а далее какая-нибудь заставка. Вот мне этого и нужно добиться

Автор: Alex 2.2.2005, 22:41
http://vingrad.ru/DELPHI-DLP-000410

Автор: Bes 3.2.2005, 07:25
в OnCreate напиши
ShowWindow(Application.Handle,SW_MAXIMIZE);
посмотри, что получится.
можешь еще дописать
ShowWindow(Form1.Handle,SW_MAXIMIZE);

Автор: -=::BlackCat::=- 3.2.2005, 07:58
а так же выстав ему OnTOP

Автор: Katrina 17.2.2005, 23:40
Я не опытный программист, но могу сказать, что SW_MAXIMIZE не всегда хорошо использовать. Я сталкивалась с этим. Так, что рекомендую следующий простенький код:

Код

form1.Width:=screen.Width;
form1.height:=screen.Height;


Работает безотказно! smile

Автор: ДЫМ 19.2.2005, 03:07
Цитата
Я не опытный программист, но могу сказать, что SW_MAXIMIZE не всегда хорошо использовать. Я сталкивалась с этим. Так, что рекомендую следующий простенький код:


Код 

form1.Width:=screen.Width;
form1.height:=screen.Height;




Работает безотказно!


Все правильно, но надо и панель задач скрыть, иначе форма не заполнит область TaskBar

Код

procedure TForm1.FormCreate(Sender: TObject);
var
  HTaskbar: HWND;
  OldVal: LongInt;
begin
  try
   HTaskBar := FindWindow('Shell_TrayWnd', nil);
   EnableWindow(HTaskBar, False);
   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
 HTaskBar := FindWindow('Shell_TrayWnd', nil);
 EnableWindow(HTaskBar, True);
 ShowWindow(HTaskbar, SW_SHOW);
end;

Автор: s-mike 19.2.2005, 17:23
Цитата
Все правильно, но надо и панель задач скрыть, иначе форма не заполнит область TaskBar

Не надо, просто убрать в BorderIcons biMinimize, biMaximize.

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