Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

VGA и размеры формы. [Lazarus, WinCE]


earl Grey ©   (2007-12-27 07:21:00) 

Вывожу в рантайме размер формы в пикселях и на QVGA и на VGA одинаковый: 320х188 (Form.Width x Form.Heigth соответственно). Копался и в KOL.pas и в mirror.pas - ответа не нашел. Никто не знает куда половина площади пропала?


mdw   (2008-01-10 13:37:00) [1]

Я делал примерно так. Тут немного накручено, это сделано для корректной работы при изменении ориентации экрана. При изменении ориентации экрана должна вызываться эта процедура.

procedure TTextOutForm.FullScreen;
var R: TRect;
   W, sH, tH, sW: Integer;
begin
   W:= SHFindMenuBar(Form.GetWindowHandle);
   GetWindowRect(W, R); tH:= R.Bottom-R.Top; sH:= ScreenHeight; sW:= ScreenWidth;
   if FIsFullScreen then begin
     R.Bottom:= sH + tH+1; R.Top:= sH+1;
     MoveWindow(W, R.Left, R.Top, R.Right-R.Left, tH, False);
     SHFullScreen(Form.Handle, SHFS_HIDETASKBAR or SHFS_HIDESIPBUTTON);
     Form.BoundsRect:= MakeRect(0, 0, sW, sH);
     Form.HasBorder:= False; Form.HasCaption:= False;
   end
   else begin
     R.Top:= sH - tH; R.Bottom:= sH;
     MoveWindow(W, R.Left, R.Top, R.Right-R.Left, tH, False);
     Form.BoundsRect:= MakeRect(0, GetWorkArea.Top, sW, sH-tH);
     Form.HasBorder:= False; Form.HasCaption:= False;
//      Applet.ProcessMessages;
     SHFullScreen(Form.GetWindowHandle, SHFS_SHOWTASKBAR {or SHFS_HIDESIPBUTTON});
   end;
end;


tim128   (2008-01-10 12:33:00) [2]


> > А есть ли возможность запустить на КПК приложение в полный
>
> > экран, так чтобы сверху и снизу не оставались полоски
> ОС?
>
> Да.


А как? :)


mdw   (2008-01-10 11:46:00) [3]


> А есть ли возможность запустить на КПК приложение в полный
> экран, так чтобы сверху и снизу не оставались полоски ОС?

Да.


tim128   (2008-01-09 23:03:00) [4]

А есть ли возможность запустить на КПК приложение в полный экран, так чтобы сверху и снизу не оставались полоски ОС?


mdw   (2008-01-09 15:55:00) [5]


> для VGA 192 dpi GetDeviceCaps возвращает, так что все нормально получается

А ну да, точно, с 120 dpi я тупанул...


tim128   (2008-01-09 15:51:00) [6]

для VGA 192 dpi GetDeviceCaps возвращает, так что все нормально получается


earl Grey   (2008-01-09 15:00:00) [7]

Только с подбором под пальцы может ерунда получиться. Это "логические дюймы". Сторона моего экрана в "логических" для QVGA 240/96 = 2.5'', для VGA 480/120=4", а в реальных ~1.75"


mdw   (2008-01-08 13:06:00) [8]


> А можно поподробнее, как определить dpi

GetDeviceCaps(LOGPIXELSX\LOGPIXELSY)

> какое dpi в qvga режиме

96 dpi


tim128   (2008-01-08 00:47:00) [9]


> Обрати внимание, что DPI будет равно 120.


А можно поподробнее, как определить dpi, какое dpi в qvga режиме? Я хочу размер кнопок под пальцы автоматически подобрать в зависимости от dpi


earl Grey   (2007-12-30 18:25:00) [10]

Отбой.. Выручил просто windres. Все равно не пойму: это у меня руки кривые, или .. ?


earl Grey   (2007-12-30 17:40:00) [11]

Посмотрел в kol-ce.rc увидел в конце файла нужную строчку - раскоментировал. Теперь борюсь с компилятором ресурсов. Не хочет гад:
--------------
C:\lazarus\fpc\2.2.0\bin\i386-win32>arm-wince-windres KOL-CE.rc KOL-CE.res
"arm-wince-gcc" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
arm-wince-windres: no resources
--------------
При чем тут gcc? и где его брать?


mdw   (2007-12-27 13:05:00) [12]

Короче, ситуация такая. По умолчанию на VGA экране приложение работает в режиме QVGA. Чтобы включить поддержку VGA, добавь в приложение такой ресурс:

HI_RES_AWARE CEUX DISCARDABLE
BEGIN
0x0001
END

Обрати внимание, что DPI будет равно 120.


tim128   (2007-12-27 10:29:00) [13]

Насколько я знаю WM2003 на VGA кпкшках использует размер экрана QVGA. Есть специальные проги которые обеспечивают VGA режим (например ozVGA или Nyditot Virtual Display). При их использовании видимо и размер формы увеличится, но еще не проверял


Наверх

Титульная страница Поиск, карта сайта Написать письмо