-
Вывожу в рантайме размер формы в пикселях и на QVGA и на VGA одинаковый: 320х188 (Form.Width x Form.Heigth соответственно). Копался и в KOL.pas и в mirror.pas - ответа не нашел. Никто не знает куда половина площади пропала?
-
Насколько я знаю WM2003 на VGA кпкшках использует размер экрана QVGA. Есть специальные проги которые обеспечивают VGA режим (например ozVGA или Nyditot Virtual Display). При их использовании видимо и размер формы увеличится, но еще не проверял
-
Короче, ситуация такая. По умолчанию на VGA экране приложение работает в режиме QVGA. Чтобы включить поддержку VGA, добавь в приложение такой ресурс:
HI_RES_AWARE CEUX DISCARDABLE BEGIN 0x0001 END
Обрати внимание, что DPI будет равно 120.
-
Посмотрел в 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? и где его брать?
-
Отбой.. Выручил просто windres. Все равно не пойму: это у меня руки кривые, или .. ?
-
> Обрати внимание, что DPI будет равно 120.
А можно поподробнее, как определить dpi, какое dpi в qvga режиме? Я хочу размер кнопок под пальцы автоматически подобрать в зависимости от dpi
-
> А можно поподробнее, как определить dpi
GetDeviceCaps(LOGPIXELSX\LOGPIXELSY)
> какое dpi в qvga режиме
96 dpi
-
Только с подбором под пальцы может ерунда получиться. Это "логические дюймы". Сторона моего экрана в "логических" для QVGA 240/96 = 2.5'', для VGA 480/120=4", а в реальных ~1.75"
-
для VGA 192 dpi GetDeviceCaps возвращает, так что все нормально получается
-
> для VGA 192 dpi GetDeviceCaps возвращает, так что все нормально получается
А ну да, точно, с 120 dpi я тупанул...
-
А есть ли возможность запустить на КПК приложение в полный экран, так чтобы сверху и снизу не оставались полоски ОС?
-
> А есть ли возможность запустить на КПК приложение в полный > экран, так чтобы сверху и снизу не оставались полоски ОС?
Да.
-
> > А есть ли возможность запустить на КПК приложение в полный > > > экран, так чтобы сверху и снизу не оставались полоски > ОС? > > Да.
А как? :)
-
Я делал примерно так. Тут немного накручено, это сделано для корректной работы при изменении ориентации экрана. При изменении ориентации экрана должна вызываться эта процедура.
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;
|