{"id":21713,"date":"2008-07-08T10:00:00","date_gmt":"2008-07-08T10:00:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/oldnewthing\/2008\/07\/08\/the-evolution-of-menu-templates-introduction\/"},"modified":"2008-07-08T10:00:00","modified_gmt":"2008-07-08T10:00:00","slug":"the-evolution-of-menu-templates-introduction","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/oldnewthing\/20080708-00\/?p=21713","title":{"rendered":"The evolution of menu templates: Introduction"},"content":{"rendered":"<p> <a href=\"http:\/\/blogs.msdn.com\/oldnewthing\/archive\/2004\/06\/24\/164737.aspx\"> As with dialog templates<\/a>, menu templates have also gone through a four-stage evolutionary process. People don&#8217;t often generate menu templates in code, although the <code>LoadMenuIndirect<\/code> function is there waiting for you once you get the urge. As a result, there aren&#8217;t many questions from people trying to generate menu templates dynamically, but I&#8217;m going to go into the history of menu templates anyway, just out of a sense of completeness. <\/p>\n<p> If you&#8217;re having problems with your dynamically-generated menu templates, you can ask the resource compiler to tell you what you&#8217;re doing wrong by createing a *.rc file for it and compiling it into a scratch program. Dump the resource as bytes, and there&#8217;s your answer. Same trick we used for dialog templates. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>As with dialog templates, menu templates have also gone through a four-stage evolutionary process. People don&#8217;t often generate menu templates in code, although the LoadMenuIndirect function is there waiting for you once you get the urge. As a result, there aren&#8217;t many questions from people trying to generate menu templates dynamically, but I&#8217;m going to [&hellip;]<\/p>\n","protected":false},"author":1069,"featured_media":111744,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[2],"class_list":["post-21713","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-oldnewthing","tag-history"],"acf":[],"blog_post_summary":"<p>As with dialog templates, menu templates have also gone through a four-stage evolutionary process. People don&#8217;t often generate menu templates in code, although the LoadMenuIndirect function is there waiting for you once you get the urge. As a result, there aren&#8217;t many questions from people trying to generate menu templates dynamically, but I&#8217;m going to [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/posts\/21713","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/users\/1069"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/comments?post=21713"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/posts\/21713\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/media\/111744"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/media?parent=21713"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/categories?post=21713"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/tags?post=21713"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}