Конференция "KOL" » VGA и размеры формы. [Lazarus, WinCE]
 
  • earl Grey (27.12.07 07:21) [0]
    Вывожу в рантайме размер формы в пикселях и на QVGA и на VGA одинаковый: 320х188 (Form.Width x Form.Heigth соответственно). Копался и в KOL.pas и в mirror.pas - ответа не нашел. Никто не знает куда половина площади пропала?
  • tim128 © (27.12.07 10:29) [1]
    Насколько я знаю WM2003 на VGA кпкшках использует размер экрана QVGA. Есть специальные проги которые обеспечивают VGA режим (например ozVGA или Nyditot Virtual Display). При их использовании видимо и размер формы увеличится, но еще не проверял
  • mdw © (27.12.07 13:05) [2]
    Короче, ситуация такая. По умолчанию на VGA экране приложение работает в режиме QVGA. Чтобы включить поддержку VGA, добавь в приложение такой ресурс:

    HI_RES_AWARE CEUX DISCARDABLE
    BEGIN
    0x0001
    END

    Обрати внимание, что DPI будет равно 120.
  • earl Grey (30.12.07 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 (30.12.07 18:25) [4]
    Отбой.. Выручил просто windres. Все равно не пойму: это у меня руки кривые, или .. ?
  • tim128 © (08.01.08 00:47) [5]

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


    А можно поподробнее, как определить dpi, какое dpi в qvga режиме? Я хочу размер кнопок под пальцы автоматически подобрать в зависимости от dpi
  • mdw © (08.01.08 13:06) [6]

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

    GetDeviceCaps(LOGPIXELSX\LOGPIXELSY)

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

    96 dpi
  • earl Grey (09.01.08 15:00) [7]
    Только с подбором под пальцы может ерунда получиться. Это "логические дюймы". Сторона моего экрана в "логических" для QVGA 240/96 = 2.5'', для VGA 480/120=4", а в реальных ~1.75"
  • tim128 © (09.01.08 15:51) [8]
    для VGA 192 dpi GetDeviceCaps возвращает, так что все нормально получается
  • mdw © (09.01.08 15:55) [9]

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

    А ну да, точно, с 120 dpi я тупанул...
  • tim128 © (09.01.08 23:03) [10]
    А есть ли возможность запустить на КПК приложение в полный экран, так чтобы сверху и снизу не оставались полоски ОС?
  • mdw © (10.01.08 11:46) [11]

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

    Да.
  • tim128 © (10.01.08 12:33) [12]

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


    А как? :)
  • mdw © (10.01.08 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;
 
Конференция "KOL" » VGA и размеры формы. [Lazarus, WinCE]
Есть новые Нет новых   [134464   +62][b:0][p:0]