{"id":11,"date":"2008-05-21T23:03:56","date_gmt":"2008-05-21T21:03:56","guid":{"rendered":"http:\/\/www.markus-bader.de\/blog\/?p=11&#038;language=de"},"modified":"2024-06-08T16:54:07","modified_gmt":"2024-06-08T15:54:07","slug":"peppige-oberflachen-auf-mobilen-endgeraten","status":"publish","type":"post","link":"https:\/\/www.markus-bader.de\/?p=11","title":{"rendered":"Ansprechende Oberfl\u00e4chen auf mobilen Endger\u00e4ten"},"content":{"rendered":"<p>Mit den Bordmitteln von Windows Mobile ist es kaum m&ouml;glich, ansprechende Oberfl&auml;chen umzusetzen. Ergebnisse mit den Standard-GUI-Elementen haben Windows 2.0 Niveau.<\/p>\n<p>Entwickler, die vor diesem Problem stehen, bekommen mit den AlphaMobileControls&nbsp;einen gutes Hilfsmittel an die Hand.<\/p>\n<p>Die AlphaMobileControls sind eine Bibliothek von Komponenten die mittels Alpha-Blending dargestellt werden. Damit sind der Phantasie von Desingern fast keine Grenzen gesetzt &#8211; und die Entwickler k&ouml;nnen Sie umsetzen. Auf der <a href=\"http:\/\/www.codeplex.com\/alphamobilecontrols\">Homepage der AlphaMobileControls<\/a> finden sich zwei einfache Beispiel-Screenshots.<\/p>\n<p>Beim Einsatz der Bibliothek bin ich auf zwei Probleme gesto&szlig;en:<\/p>\n<ol>\n<li>Die GetImageMethode hat unter Windows Mobile 5 einen Fehler beim Auslesen von Daten aus PNG-Bildern<br \/>\n    <a href=\"http:\/\/support.microsoft.com\/?scid=kb%3Ben-us%3B923812&amp;x=15&amp;y=14\">http:\/\/support.microsoft.com\/?scid=kb%3Ben-us%3B923812&amp;x=15&amp;y=14<\/a><br \/>\n    PNG-Bilder, die als externe Dateien vorliegen, konnte ich bei meiner Entwicklung fehlerfrei darstellen. Sobald diese allerdings als Resource in die Applikation eingebettet, so tritt der im Microsoft-Artikel beschriebene Fehler (0&times;80004005) auf.<br \/>\n    Alternativ k&ouml;nnte man auf GIF-Dateien f&uuml;r die Darstellung wechseln &#8211; mit dem Nachteil, dass kein echtes Alpha-Blending m&ouml;glich ist.<\/li>\n<li>\n<p>Die AlphaMobileControls arbeiten bei der Darstellung mit Double-Buffering um ein Flackern zu verhindern.<br \/>\n    Diese ben&ouml;tigen bei einer Vollbild-Applikation von 320&times;240 Pixel ca. 600 KByte (bei 32 Bit Farbtiefe) &#8211; und zwar pro Dialog. <br \/>\n    Der Speicherbedarf f&uuml;r eine komplexere Applikation steigt damit ziemlich schnell an.<\/p>\n<p>Werden ausschlie&szlig;lich <em>Forms<\/em> gleicher Gr&ouml;&szlig;e verwendet &#8211; und wird immer genau ein Dialog dargestellt &#8211; so reicht&nbsp; im <strong><em>AlphaContainer<\/em><\/strong> die Variable <em>_backBuffer<\/em> <em>statisch<\/em> zu machen, so dass diese von allen Dialogen verwendet wird:<\/p>\n<p><tt><span style=\"font-size: medium;\">&nbsp;&nbsp;&nbsp;&nbsp; \/\/\/ <\/span><\/p>\n<summary><span style=\"font-size: medium;\"> Back buffer used for double buffering. <\/span><\/summary>\n<p><span style=\"font-size: medium;\"><br \/>\n    &nbsp;&nbsp;&nbsp;&nbsp; private <strong><em>static<\/em><\/strong> Bitmap _backBuffer;     <\/span><\/tt><\/p>\n<\/li>\n<\/ol>\n<p>Die Ergebnisse lassen sich auf jeden Fall sehen!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Mit den Bordmitteln von Windows Mobile ist es kaum m&ouml;glich, ansprechende Oberfl&auml;chen umzusetzen. Ergebnisse mit den Standard-GUI-Elementen haben Windows 2.0 Niveau. Entwickler, die vor diesem Problem stehen, bekommen mit den AlphaMobileControls&nbsp;einen gutes Hilfsmittel an die Hand. Die AlphaMobileControls sind eine &hellip; <a href=\"https:\/\/www.markus-bader.de\/?p=11\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[15,14],"tags":[22,18,54,21,19],"_links":{"self":[{"href":"https:\/\/www.markus-bader.de\/index.php?rest_route=\/wp\/v2\/posts\/11"}],"collection":[{"href":"https:\/\/www.markus-bader.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.markus-bader.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.markus-bader.de\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.markus-bader.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=11"}],"version-history":[{"count":1,"href":"https:\/\/www.markus-bader.de\/index.php?rest_route=\/wp\/v2\/posts\/11\/revisions"}],"predecessor-version":[{"id":16,"href":"https:\/\/www.markus-bader.de\/index.php?rest_route=\/wp\/v2\/posts\/11\/revisions\/16"}],"wp:attachment":[{"href":"https:\/\/www.markus-bader.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=11"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.markus-bader.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=11"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.markus-bader.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=11"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}