{"id":425,"date":"2009-02-25T20:45:46","date_gmt":"2009-02-25T19:45:46","guid":{"rendered":"http:\/\/blog.m-ri.de\/?p=425"},"modified":"2009-02-25T20:45:43","modified_gmt":"2009-02-25T19:45:43","slug":"der-unbekannte-cstring-konstruktor","status":"publish","type":"post","link":"http:\/\/blog.m-ri.de\/index.php\/2009\/02\/25\/der-unbekannte-cstring-konstruktor\/","title":{"rendered":"VS Tipps &#038; Tricks: Der unbekannte CString Konstruktor&#8230;"},"content":{"rendered":"<p><em>CString<\/em> nimmt nat\u00fcrlich auch in einem seiner Konstruktoren einen LPCTSTR . Dieser Konstruktor hat aber noch eine versteckt eingebaute Funktion. Man kann <em>CString <\/em>auch mit <em>MAKEINTRESOURCE(id)<\/em> verwendet. Aus der <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/cws1zdt8(VS.80).aspx\">Dokumentation<\/a> geht dies nicht eindeutig hervor, aber zumindest findet man es am Rande erw\u00e4hnt.<br \/>\nIst also das High-WORD des <em>LPCTSTR <\/em>gleich <em>NULL<\/em> dann wird das LOWORD verwendet um die entsprechende String-Ressource zu laden.<br \/>\nIst die Ressource nicht vorhanden wird in der Debugausgabe ein entsprechender Trace erzeugt.<\/p>\n<p>Ben\u00f6tigt man also tempor\u00e4r eine String Variable so kann man direkt in einem Statement die entsprechende String-Resource laden:<\/p>\n<pre lang=\"cpp\">CString strMyText(MAKEINTRESOURCE(IDS_MY_STRING));\r\nstrMyText += strSomeOther;\r\nstrMyText += CString(MAKEINTRESOURCE(IDS_MY_TEXT_TO_APPEND));<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>CString nimmt nat\u00fcrlich auch in einem seiner Konstruktoren einen LPCTSTR . Dieser Konstruktor hat aber noch eine versteckt eingebaute Funktion. Man kann CString auch mit MAKEINTRESOURCE(id) verwendet. Aus der Dokumentation geht dies nicht eindeutig hervor, aber zumindest findet man es am Rande erw\u00e4hnt. Ist also das High-WORD des LPCTSTR gleich NULL dann wird das LOWORD &hellip; <a href=\"http:\/\/blog.m-ri.de\/index.php\/2009\/02\/25\/der-unbekannte-cstring-konstruktor\/\" class=\"more-link\"><span class=\"screen-reader-text\">\u201eVS Tipps &#038; Tricks: Der unbekannte CString Konstruktor&#8230;\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":[30,4,3,27],"tags":[370,352,37],"class_list":["post-425","post","type-post","status-publish","format-standard","hentry","category-c","category-mfc","category-programmieren","category-vs2008","tag-c","tag-mfc","tag-vs-tippstricks"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/posts\/425","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=425"}],"version-history":[{"count":1,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/posts\/425\/revisions"}],"predecessor-version":[{"id":431,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/posts\/425\/revisions\/431"}],"wp:attachment":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/media?parent=425"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/categories?post=425"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/tags?post=425"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}