![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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). При их использовании видимо и размер формы увеличится, но еще не проверял