{"id":61,"date":"2007-05-01T07:30:44","date_gmt":"2007-05-01T05:30:44","guid":{"rendered":"http:\/\/blog.m-ri.de\/index.php\/2007\/05\/01\/konfusion-durch-ds_shellfont-ds_fixedsys-ds_setfont\/"},"modified":"2007-05-01T07:33:19","modified_gmt":"2007-05-01T05:33:19","slug":"konfusion-durch-ds_shellfont-ds_fixedsys-ds_setfont","status":"publish","type":"post","link":"http:\/\/blog.m-ri.de\/index.php\/2007\/05\/01\/konfusion-durch-ds_shellfont-ds_fixedsys-ds_setfont\/","title":{"rendered":"Konfusion durch DS_SHELLFONT == (DS_FIXEDSYS | DS_SETFONT)"},"content":{"rendered":"<p>Ich habe in einem gr\u00f6\u00dferen Projekt nach einem Problem gesucht, dass nach der Umstellung auf UNICODE auftrat. Durch Erzeugen von Dialogen mit \u00e4lteren <em>Visual Studio<\/em> Editionen wurden manche Dialoge mit dem nachfolgenden Font Eintrag erzeugt:<\/p>\n<p class=\"ccode\">FONT 8, &#8222;MS Sans Serif&#8220;, 0, 0, 0x1<\/p>\n<p>Die Folge war eine inkorrekte Anzeige wenn UNICODE Zeichensequenzen eingegeben wurden.<br \/>\nRichtig w\u00e4re der folgende Eintrag, wie ich es haben wollte<\/p>\n<p class=\"ccode\">FONT 8, &#8222;MS Shell Dlg&#8220;, 0, 0, 0x0<\/p>\n<p>in Verbindung mit den Flags DS_SETFONT und DS_SHELLFONT.<br \/>\nIm Resource-Editor findet sich dazu eine Extra Eigenschaft <em>&#8222;Use System Font&#8220;<\/em> direkt unter der <em>&#8222;Font (Size)&#8220;<\/em> Eigenschaft.<\/p>\n<p>Was steht nun in der Ressourcen Datei, wenn man <em>&#8222;Use System Font&#8220;<\/em> anklickt?<\/p>\n<p class=\"ccode\">\ud83d\ude44 STYLE DS_SETFONT | DS_FIXEDSYS | &#8230;<\/p>\n<p>Und die Doku in der MSDN sagt zu DS_FIXEDSYS:<br \/>\n<em>Causes the dialog box to use the SYSTEM_FIXED_FONT instead of the default SYSTEM_FONT. This is a monospace font compatible with the System font in 16-bit versions of Windows earlier than 3.0.<\/em><\/p>\n<p>\ud83d\ude2e Habe ich hier einen Bug im Ressoure-Editor entdeckt? Was soll ein altes <em>Windows 3.0<\/em> Flag in meinem 32bit Programm?<\/p>\n<p>Die Antwort lautet: <strong>Nein!<br \/>\n<\/strong>Das ganze kl\u00e4rt sich auf, wenn man die Definitionen dieser Werte ansieht:<\/p>\n<p class=\"ccode\">#define DS_SETFONT 0x40L \/* User specified font for Dlg controls *\/<br \/>\n#define DS_FIXEDSYS 0x0008L<br \/>\n#define DS_SHELLFONT (DS_SETFONT | DS_FIXEDSYS)<\/p>\n<p>Es ist nur einfach verwirrend, weil der Resource Editor aus der Eigenschaft <em>&#8222;Use System Font&#8220;<\/em> und dem Font <em>&#8222;MS Shell Dlg&#8220;<\/em> die Flags DS_SETFONT | DS_FIXEDSYS im STYLE Eintrag macht und die Bits einzeln aufl\u00f6st.<br \/>\nEs ist nat\u00fcrlich alles OK, aber wirklich sehr verwirrend, aber ich wiederhole mich.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ich habe in einem gr\u00f6\u00dferen Projekt nach einem Problem gesucht, dass nach der Umstellung auf UNICODE auftrat. Durch Erzeugen von Dialogen mit \u00e4lteren Visual Studio Editionen wurden manche Dialoge mit dem nachfolgenden Font Eintrag erzeugt: FONT 8, &#8222;MS Sans Serif&#8220;, 0, 0, 0x1 Die Folge war eine inkorrekte Anzeige wenn UNICODE Zeichensequenzen eingegeben wurden. Richtig &hellip; <a href=\"http:\/\/blog.m-ri.de\/index.php\/2007\/05\/01\/konfusion-durch-ds_shellfont-ds_fixedsys-ds_setfont\/\" class=\"more-link\"><span class=\"screen-reader-text\">\u201eKonfusion durch DS_SHELLFONT == (DS_FIXEDSYS | DS_SETFONT)\u201c <\/span>weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[3,23],"tags":[61],"class_list":["post-61","post","type-post","status-publish","format-standard","hentry","category-programmieren","category-ressourcen","tag-winapi"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/posts\/61","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/comments?post=61"}],"version-history":[{"count":0,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/posts\/61\/revisions"}],"wp:attachment":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/media?parent=61"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/categories?post=61"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/tags?post=61"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}