Полноэкранное приложение под WinCE

Модератор: Модераторы

Ответить
Arigato
незнакомец
Сообщения: 7
Зарегистрирован: 20.01.2008 18:17:00
Контактная информация:

Полноэкранное приложение под WinCE

Сообщение Arigato »

Нужно создать полноэкранное приложение под WM 5.0. Делаю так (fpc 2.2):

Код: Выделить всё

  WNDC.style := 0;
  WNDC.lpfnWndProc := @WindowProc;
  WNDC.cbClsExtra := 0;
  WNDC.cbWndExtra := 0;
  WNDC.hInstance := hInstance;
  WNDC.hIcon := LoadIcon (0, IDI_APPLICATION);
  WNDC.hCursor := LoadIcon (0, IDC_ARROW);
  WNDC.hbrBackground := Color_Window + 1;
  WNDC.lpszMenuName := nil;
  WNDC.lpszClassName := FormClass;
  if RegisterClass (WNDC) = 0 then Die (0, 'Error in RegisterClass');
  Form := CreateWindowEx (WS_EX_TOPMOST or WS_EX_TOOLWINDOW, FormClass, FormTitle, WS_VISIBLE, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, 0, 0, hInstance, nil);
  ShowWindow (Form, SW_SHOWMAXIMIZED);
Но панель "Пуск" все равно остается. Как ее закрыть своим окном?
Arigato
незнакомец
Сообщения: 7
Зарегистрирован: 20.01.2008 18:17:00
Контактная информация:

Сообщение Arigato »

Решение найдено. После создания окна делаю следующее:

Код: Выделить всё

  ShowWindow (Form, SW_NORMAL);
  SHFullScreen (Form, SHFS_HIDETASKBAR or SHFS_HIDESTARTICON or SHFS_HIDESIPBUTTON);
  FS := DisplaySize;
  MoveWindow (Form, 0, 0, FS.X, FS.Y, True);

DisplaySize - функция, возвращающая размеры дисплея (на базе GetSystemMetrics).
kurdt666
новенький
Сообщения: 34
Зарегистрирован: 28.10.2007 18:46:49

Сообщение kurdt666 »

ДЛЯ ЛАЗАРЯ ВОТ ТАК

ShowWindow (Form1.Handle, SW_NORMAL);
SHFullScreen (Form1.Handle, SHFS_HIDETASKBAR or SHFS_HIDESTARTICON or SHFS_HIDESIPBUTTON);
MoveWindow (Form1.Handle, 0, 0, 240, 320, True);
Arigato
незнакомец
Сообщения: 7
Зарегистрирован: 20.01.2008 18:17:00
Контактная информация:

Сообщение Arigato »

kurdt666
Ну это тоже самое :D
AnarchyMob
новенький
Сообщения: 13
Зарегистрирован: 16.11.2008 22:44:36

Сообщение AnarchyMob »

Надо создавать главное окно дочерним верхнему бару т.е. находишь хендл верхнего бара (там где кнопка пуск) и при создании главного окна в функции CreateWindowEx в девятом параметре задаёшь как раз хендл бара (а не 0), и тогда всё будет ...как при коммунизме.
Ответить