Windows Mobile Developer Center >
Windows Mobile & Embedded Foren
>
Windows Mobile & Windows phone
>
Anwendung für WVGA optimieren - Fullscreen - 480x800
Anwendung für WVGA optimieren - Fullscreen - 480x800
- Guten Abend zusammen,
habe in Visual Studio mit VB eine Anwendung für mein HTC Touch HD geschrieben.
Darauf läuft Windows Mobile 6.1 .
Das Handy hat WVGA , also 480x800 pixel Auflösung.
Wenn ich die Form in VB dementsprechend einstelle, also Breite 480, Höhe 800 und das ganze
auf dem Handy ausführe, wird es nicht zentriert, sondern man muss scrollen, um alles zu sehen.
Nun habe ich schon viel gegoogled und allerhand befehle für den Fullscreen ausprobiert, aber es hat alles nicht funktioniert.
Hoffe nun auf euch und wertvolle Tipps! :)
Vielen Dank,
MfG dash
Antworten
- Hi,
habs hinbekommen, die Anwendung startet jetzt im Fullscreenmodus, ohne Leisten und ohne Scrollbalken.
Daran lag's:
die Eigenschaft AutoScaleMode der Form stand auf "dpi" , nach dem Umschalten auf "none" war alles so, wie ich das haben wollte.
Jetzt fehlt nur noch ein automatisches Umschalten in den Widescreenmodus, wenn ich das Handy kippe.
Aber dazu müsste ich wohl den Bewegungssensor im Handy ansprechen ^^
Danke für deine Hilfe!
Gruß dash
- Als Antwort markiertPeter Nowak [MVP]MVP, ModeratorMontag, 26. Oktober 2009 13:39
Alle Antworten
- Hi,
dein Problem ist, dass deine Bildschirmauflösung zwar 480x800 ist, jedoch du auch beachten musst, dass du noch die Taskbar und die Menüzeile hast, die du abrechnen musst.
Die genaue größe für WVGA weiß ich nun leider auch nicht. Du solltest diese Informationen jedoch bekommen, wenn du die Werte für System.Windows.Forms.Screen.PrimaryScreen.Bounds.Height und System.Windows.Forms.Screen.PrimaryScreen.Bounds.Width abfragst.
Gruß, Peter
This posting is provided "AS IS" with no warranties, and confers no rights.- BearbeitetPeter Nowak [MVP]MVP, ModeratorMontag, 26. Oktober 2009 07:28Schreibfehler
- Hallo Peter,
vielen Dank für deine Antwort.
Verschiedene Anwendungen starten im Fullscreen, sie überdecken die Taskbar und die Menüzeile.
z.B. der Coreplayer beim Videoabspielen im Fullscreenmodus.
Ich werde die 2 Befehle heute Abend ausprobieren, mal sehen, was sie zurückgeben.
Gruß,
dash - Hi,
vielleicht magst du dir dazu mein deutsches "Lost File" einmal durchlesen, was ich auf meinem Blog veröffentlicht habe. Dabei handelt es sich um einen Ausschnitt eines Buchkapitels, welches leider nicht veröffentlicht wurde.
Das Kapitel selbst ist in Deutsch, allerdings in C#.
Ich denke aber, dass du dadurch eine Idee bekommen solltest, wie es funktioniert.
http://blogs.compactframework.de/Peter.Nowak/2009/01/21/The+Lost+Files+Kiosk+Mode.aspx
Gruß, Peter
This posting is provided "AS IS" with no warranties, and confers no rights. - Danke, ist ja genau, was ich möchte!
Titel und Menüleiste sind ausgeblendet.
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
gibt mir zurück Höhe 800 und Breite 480.
MsgBox("Höhe: " & System.Windows.Forms.Screen.PrimaryScreen.Bounds.Height)
MsgBox("Breite: " & System.Windows.Forms.Screen.PrimaryScreen.Bounds.Width )
End Sub
Wenn ich jetzt die Form auf diese Größe anpasse, reicht sie WEIT über den Bildschirmrand hinaus.
Warum benützt die Form nicht die ganze Auflösung des Displays?
- Hi,
Form_Load wird generell ausgeführt, BEVOR diese angezeigt wird. Somit sind 800 x 480 sogar korrekt. Versuche es doch mal mit einem Button, in dessen Ereignis du die Abfrage durchführst.
Zu 800x480 "Waraum wird nicht einfach die ganze Auflösung genommen", habe ich dir die Antwort ja bereits im vorherigen Post gegeben.
Gruß, Peter
This posting is provided "AS IS" with no warranties, and confers no rights. - auch ein Button liefert Höhe 800 und Breite 480 zurück.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
MsgBox("Höhe: " & System.Windows.Forms.Screen.PrimaryScreen.Bounds.Height)
MsgBox("Breite: " & System.Windows.Forms.Screen.PrimaryScreen.Bounds.Width)
End Sub
"Warum wird nicht einfach die ganze Auflösung genommen"
Damit meinte ich, warum die Form nur einen Bruchteil (ca ein Viertel) der Form darstellt,
und den Rest mit Scrollbalken darstellt, obwohl das Display groß genug wäre,
um die Form ganz darauf aufzulösen, ganz ohne Scrollbalken.
Die zwei Leisten werden werden ja schon erfolgreich davon überdeckt.
Tut mir leid, sollte ich mich doof anstellen!
- Hi,
ist ja kein Problem.
Generell, wie bereits gesagt, gehört die obere Leiste nicht zu der Form, sondern ist Teil des Betrioebssystems, weswegen so "krumme" Werte bei der entspr. Auflösung herauskommen.
Hinsichtlich PrimaryScreen.Bounds: Versuche es bitte einmal mit PrimaryScreen.WorkingArea. Es kann sein, dass ich mich dabei geirrt habe.
Gruß, Peter
This posting is provided "AS IS" with no warranties, and confers no rights. - Hi,
habs hinbekommen, die Anwendung startet jetzt im Fullscreenmodus, ohne Leisten und ohne Scrollbalken.
Daran lag's:
die Eigenschaft AutoScaleMode der Form stand auf "dpi" , nach dem Umschalten auf "none" war alles so, wie ich das haben wollte.
Jetzt fehlt nur noch ein automatisches Umschalten in den Widescreenmodus, wenn ich das Handy kippe.
Aber dazu müsste ich wohl den Bewegungssensor im Handy ansprechen ^^
Danke für deine Hilfe!
Gruß dash
- Als Antwort markiertPeter Nowak [MVP]MVP, ModeratorMontag, 26. Oktober 2009 13:39


