Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.04.19;
Скачать: CL | DM;

Вниз

VGA и размеры формы.   Найти похожие ветки 

 
earl Grey   (2007-12-27 07:21) [0]

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


 
tim128 ©   (2007-12-27 10:29) [1]

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


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

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

HI_RES_AWARE CEUX DISCARDABLE
BEGIN
0x0001
END

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


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

Посмотрел в 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? и где его брать?


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

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


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


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


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


 
mdw ©   (2008-01-08 13:06) [6]


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

GetDeviceCaps(LOGPIXELSX\LOGPIXELSY)

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

96 dpi


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

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


 
tim128 ©   (2008-01-09 15:51) [8]

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


 
mdw ©   (2008-01-09 15:55) [9]


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

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


 
tim128 ©   (2008-01-09 23:03) [10]

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


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


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

Да.


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


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


А как? :)


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

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

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;



Страницы: 1 вся ветка

Текущий архив: 2009.04.19;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.015 c
2-1235746713
Mops
2009-02-27 17:58
2009.04.19
Postdata & BeforeNavigate2 & string


2-1236068306
Евгений Р.
2009-03-03 11:18
2009.04.19
Добавление tToolButton в RunTime


11-1172928776
Dmitry___
2007-03-03 16:32
2009.04.19
Сохранение контролов в файл


15-1234765958
DevilDevil
2009-02-16 09:32
2009.04.19
Посоветуйте компонент типа Плейлиста


15-1235076565
Sergey Masloff
2009-02-19 23:49
2009.04.19
SOAP в Delphi. Что делать с зависонами