PDAclub.pl - Forum użytkowników technologii mobilnych
Windows Mobile (Classic, Professional, Standard), Windows Phone 6.x oraz 7/8.x/10 => Oprogramowanie PPC => Dla programistów => Wątek zaczęty przez: zoh w Październik 15, 2009, 11:46:22
-
Witam
przeczytałem już cały internet i nic nie znalazłem, Pan Google też niewiele wie w tej materii.
Mianowicie: jak zmusić środowisko do kompilowania aplikacji w rozdzielczości innej niż QVGA
Mam HTC Touch Pro (480x640) i niestety ciągle Form'a wychodzi w rozdziałce 240x320
Ktoś to już przerabiał??
pozdrawiam i dzięki za wszelkie info
-
Pytanie co to znaczy wg. ciebie kompilowanie aplikacji pod daną rozdzielczość? Bo takie pojęcie jako tako nie istnieje, tak jakbyś próbował kompilować aplikację desktopową pod rozdzielczość np 800x600; co jest niemożliwe.
Pewnie chodzi ci o rozmiar okienka designera. Jeżeli nie masz załadowanego odpowiedniego skina to na szybko można to zrobić tak, że:
- ustaw FormFactor na Windows Mobile 6 Professional
- ustaw Skin na false
- zmień Size na 480; 696 (to jest 800 - górny pasek i menu)
Pamiętaj tylko, że te zabiegi są zbędne; możesz spokojnie tworzyć w normalnym skinie (240x320) a środowisko uruchomieniowe i tak dobrze ci przeskaluje, no chyba że coś spaprzesz :)
-
odpowiedź na moje pytanie powyżej udzielona na innym forum:
http://www.lazarus.freepascal.org/index.php/topic,7668.0.html (http://www.lazarus.freepascal.org/index.php/topic,7668.0.html)
Windows Mobile runs all software in 240x320 emulation mode by default. This is a backward compatibility thing. You need to add a resource to your EXE to allow it to run with the actual screen size.
Try this, make "hiresaware.rc" with notepad, and paste this into it:
Code:
HI_RES_AWARE CEUX DISCARDABLE
BEGIN
0x0001
END
Next, compile it into a .res:
Code:
arm-wince-windres -ihiresaware.rc -ohiresaware.res
(if you have one of the arm-wince packages that does not come with arm-wince-windres, just use windres instead - that also works)
Now you have "hiresaware.res", now you still need to include it. Open your project, and in your main unit, put:
Code:
{$r hiresaware.res}
I usually put it right below the "uses" clauses in the "implementation" section.
Now, build the program (compile is not enough when you add/change res files!) et voila. The program is running on whatever resolution the device has.
dziękuje za uwagę :D
-
przetłumaczyłem to mniej więcej coś takiego mi wyszło :P
windows mobile standardowo uruchamia wszystkie aplikacje w emulowanym trybie 240x320 który służy kompatybilności wstecznej musisz dodać plik "resource" do twojego EXE aby pozwolił na uruchamianie z aktualną wielkością ekranu.
spróbuj tego:
zrób plik "hiresaware.rc" notatnikiem i wklej w niego:
HI_RES_AWARE CEUX DISCARDABLE
BEGIN
0x0001
END
następnie skompiluj plik do rozszerzenia .res
arm-wince-windres -ihiresaware.rc -ohiresaware.res (zupełnie nie rozumiem o co tu chodzi)
(jeśli masz jedną z paczek arm-wince która nie była dołączona do arm-wince-windres wtedy tylko użyj windres - to też działa) (mogłem coś źle przetłumaczyć ! :P)
masz teraz plik "hiresaware.res" teraz musisz go dołączyć otwórz projekt i w głównym pliku kodu źródłowego (np. main.cpp itp.) dodaj
{$r hiresaware.res}
I usually put it right below the "uses" clauses in the "implementation" section. (tego nie tłumaczyłem nie dokładnie to rozumiem)
teraz przebuduj program (rebuild) (zwykła kompilacja nie wystarcz by dodać/zmienić pliki res!) program działa w rozdzielczości jaką ma urządzenie
nie należy kierować się zbytnio tym tłumaczeniem gdyż mogą być w nim błędy itp.