{"id":19158,"date":"2025-03-06T00:28:14","date_gmt":"2025-03-05T16:28:14","guid":{"rendered":"https:\/\/blog.iyatt.com\/?p=19158"},"modified":"2025-08-22T10:05:50","modified_gmt":"2025-08-22T02:05:50","slug":"mfc%ef%bc%9a%e7%ae%80%e5%8d%95%e7%9a%84%e9%94%80%e5%94%ae%e7%b3%bb%e7%bb%9f%ef%bc%88%e7%bc%96%e8%be%91%e4%b8%ad%ef%bc%89","status":"publish","type":"post","link":"https:\/\/blog.iyatt.com\/?p=19158","title":{"rendered":"MFC \u9879\u76ee\uff1a\u7b80\u6613\u9500\u552e\u7cfb\u7edf\u5b9e\u8df5"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 ez-toc-wrap-center counter-hierarchy ez-toc-counter ez-toc-light-blue ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title ez-toc-toggle\" style=\"cursor:pointer\">\u76ee\u5f55<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E9%A2%84%E8%A7%88\" >\u9884\u89c8<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E6%B5%8B%E8%AF%95%E7%8E%AF%E5%A2%83\" >\u6d4b\u8bd5\u73af\u5883<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E9%A1%B9%E7%9B%AE\" >\u9879\u76ee<\/a><ul class='ez-toc-list-level-2' ><li class='ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E6%96%B0%E5%BB%BA%E9%A1%B9%E7%9B%AE\" >\u65b0\u5efa\u9879\u76ee<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E4%B8%8D%E4%BD%BF%E7%94%A8%E5%AE%89%E5%85%A8%E5%87%BD%E6%95%B0\" >\u4e0d\u4f7f\u7528\u5b89\u5168\u51fd\u6570<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E6%B7%BB%E5%8A%A0%E7%AA%97%E5%8F%A3%E5%9B%BE%E6%A0%87\" >\u6dfb\u52a0\u7a97\u53e3\u56fe\u6807<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E8%AE%BE%E7%BD%AE%E7%AA%97%E5%8F%A3%E5%A4%A7%E5%B0%8F%E5%92%8C%E5%B1%85%E4%B8%AD%E6%98%BE%E7%A4%BA\" >\u8bbe\u7f6e\u7a97\u53e3\u5927\u5c0f\u548c\u5c45\u4e2d\u663e\u793a<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E8%AE%BE%E7%BD%AE%E7%AA%97%E5%8F%A3%E6%A0%87%E9%A2%98\" >\u8bbe\u7f6e\u7a97\u53e3\u6807\u9898<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E8%AE%BE%E8%AE%A1_SQLite3_%E6%95%B0%E6%8D%AE%E5%BA%93%E8%AF%BB%E5%86%99%E5%AE%9E%E7%8E%B0\" >\u8bbe\u8ba1 SQLite3 \u6570\u636e\u5e93\u8bfb\u5199\u5b9e\u73b0<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E6%89%8B%E5%8A%A8%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E6%95%B0%E6%8D%AE%E5%BA%93%E6%96%87%E4%BB%B6\" >\u624b\u52a8\u521b\u5efa\u4e00\u4e2a\u6570\u636e\u5e93\u6587\u4ef6<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E8%AF%BB%E5%86%99%E5%AE%9E%E7%8E%B0\" >\u8bfb\u5199\u5b9e\u73b0<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E4%BF%9D%E8%AF%81%E7%A8%8B%E5%BA%8F%E9%80%80%E5%87%BA%E6%97%B6%E5%85%B3%E9%97%AD%E6%95%B0%E6%8D%AE%E5%BA%93\" >\u4fdd\u8bc1\u7a0b\u5e8f\u9000\u51fa\u65f6\u5173\u95ed\u6570\u636e\u5e93<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E7%99%BB%E5%BD%95%E5%AF%B9%E8%AF%9D%E6%A1%86\" >\u767b\u5f55\u5bf9\u8bdd\u6846<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E7%95%8C%E9%9D%A2%E8%AE%BE%E8%AE%A1\" >\u754c\u9762\u8bbe\u8ba1<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E5%8A%9F%E8%83%BD%E5%AE%9E%E7%8E%B0\" >\u529f\u80fd\u5b9e\u73b0<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E8%AE%A9%E7%99%BB%E5%BD%95%E5%AF%B9%E8%AF%9D%E6%A1%86%E5%9C%A8%E6%96%87%E6%A1%A3%E4%B9%8B%E5%89%8D%E5%88%9B%E5%BB%BA\" >\u8ba9\u767b\u5f55\u5bf9\u8bdd\u6846\u5728\u6587\u6863\u4e4b\u524d\u521b\u5efa<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E6%95%B0%E6%8D%AE%E5%BA%93%E8%BF%9E%E6%8E%A5\" >\u6570\u636e\u5e93\u8fde\u63a5<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E7%99%BB%E5%BD%95%E6%8C%89%E9%92%AE%E5%9B%9E%E8%B0%83%E5%AE%9E%E7%8E%B0\" >\u767b\u5f55\u6309\u94ae\u56de\u8c03\u5b9e\u73b0<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E5%8F%96%E6%B6%88%E6%8C%89%E9%92%AE%E5%9B%9E%E8%B0%83%E5%AE%9E%E7%8E%B0\" >\u53d6\u6d88\u6309\u94ae\u56de\u8c03\u5b9e\u73b0<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-20\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E4%BF%AE%E6%94%B9%E5%9B%9E%E8%BD%A6%E9%94%AE%E4%B8%BA%E7%99%BB%E5%BD%95\" >\u4fee\u6539\u56de\u8f66\u952e\u4e3a\u767b\u5f55<\/a><\/li><\/ul><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-21\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E9%9D%99%E6%80%81%E6%8B%86%E5%88%86%E7%AA%97%E5%8F%A3\" >\u9759\u6001\u62c6\u5206\u7a97\u53e3<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-22\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E8%87%AA%E5%AE%9A%E4%B9%89%E8%A7%86%E5%9B%BE%E7%B1%BB\" >\u81ea\u5b9a\u4e49\u89c6\u56fe\u7c7b<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-23\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E6%8B%86%E5%88%86%E7%AA%97%E5%8F%A3\" >\u62c6\u5206\u7a97\u53e3<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-24\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E5%B7%A6%E4%BE%A7%E6%A0%91%E8%A7%86%E5%9B%BE\" >\u5de6\u4fa7\u6811\u89c6\u56fe<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-25\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E6%B7%BB%E5%8A%A0%E5%8A%9F%E8%83%BD%E8%8A%82%E7%82%B9\" >\u6dfb\u52a0\u529f\u80fd\u8282\u70b9<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-26\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E5%8A%9F%E8%83%BD%E8%8A%82%E7%82%B9%E6%B6%88%E6%81%AF%E5%A4%84%E7%90%86\" >\u529f\u80fd\u8282\u70b9\u6d88\u606f\u5904\u7406<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-27\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E4%B8%AA%E4%BA%BA%E4%BF%A1%E6%81%AF%E9%A1%B5%E9%9D%A2\" >\u4e2a\u4eba\u4fe1\u606f\u9875\u9762<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-28\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E7%95%8C%E9%9D%A2%E8%AE%BE%E8%AE%A1-2\" >\u754c\u9762\u8bbe\u8ba1<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-29\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E5%8A%9F%E8%83%BD%E5%AE%9E%E7%8E%B0-2\" >\u529f\u80fd\u5b9e\u73b0<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-30\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E5%88%9D%E5%A7%8B%E5%8C%96%E7%95%8C%E9%9D%A2\" >\u521d\u59cb\u5316\u754c\u9762<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-31\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E7%A1%AE%E5%AE%9A%E4%BF%AE%E6%94%B9%E5%AF%86%E7%A0%81\" >\u786e\u5b9a\u4fee\u6539\u5bc6\u7801<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-32\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E5%8F%96%E6%B6%88%E4%BF%AE%E6%94%B9%E5%AF%86%E7%A0%81\" >\u53d6\u6d88\u4fee\u6539\u5bc6\u7801<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-33\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E7%95%8C%E9%9D%A2%E6%8C%82%E8%BD%BD\" >\u754c\u9762\u6302\u8f7d<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-34\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E8%87%AA%E5%AE%9A%E4%B9%89%E6%B6%88%E6%81%AF%E5%8F%91%E9%80%81\" >\u81ea\u5b9a\u4e49\u6d88\u606f\u53d1\u9001<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-35\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E8%87%AA%E5%AE%9A%E4%B9%89%E6%B6%88%E6%81%AF%E5%A4%84%E7%90%86\" >\u81ea\u5b9a\u4e49\u6d88\u606f\u5904\u7406<\/a><\/li><\/ul><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-36\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E9%94%80%E5%94%AE%E7%AE%A1%E7%90%86%E9%A1%B5%E9%9D%A2\" >\u9500\u552e\u7ba1\u7406\u9875\u9762<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-37\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E7%95%8C%E9%9D%A2%E8%AE%BE%E8%AE%A1-3\" >\u754c\u9762\u8bbe\u8ba1<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-38\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E7%95%8C%E9%9D%A2%E6%8C%82%E8%BD%BD-2\" >\u754c\u9762\u6302\u8f7d<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-39\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E5%8A%9F%E8%83%BD%E5%AE%9E%E7%8E%B0-3\" >\u529f\u80fd\u5b9e\u73b0<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-40\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E5%88%9D%E5%A7%8B%E5%8C%96%E7%95%8C%E9%9D%A2-2\" >\u521d\u59cb\u5316\u754c\u9762<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-41\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E7%BB%84%E5%90%88%E6%A1%86%E5%88%87%E6%8D%A2%E5%88%B7%E6%96%B0%E4%BF%A1%E6%81%AF\" >\u7ec4\u5408\u6846\u5207\u6362\u5237\u65b0\u4fe1\u606f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-42\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E8%B4%AD%E4%B9%B0%E5%AE%9E%E7%8E%B0\" >\u8d2d\u4e70\u5b9e\u73b0<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-43\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E5%8F%96%E6%B6%88\" >\u53d6\u6d88<\/a><\/li><\/ul><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-44\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E5%BA%93%E5%AD%98%E4%BF%A1%E6%81%AF%E9%A1%B5%E9%9D%A2\" >\u5e93\u5b58\u4fe1\u606f\u9875\u9762<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-45\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E7%95%8C%E9%9D%A2%E8%AE%BE%E8%AE%A1-4\" >\u754c\u9762\u8bbe\u8ba1<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-46\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E7%95%8C%E9%9D%A2%E6%8C%82%E8%BD%BD-3\" >\u754c\u9762\u6302\u8f7d<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-47\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E5%8A%9F%E8%83%BD%E5%AE%9E%E7%8E%B0-4\" >\u529f\u80fd\u5b9e\u73b0<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-48\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E5%BA%93%E5%AD%98%E6%B7%BB%E5%8A%A0%E9%A1%B5%E9%9D%A2\" >\u5e93\u5b58\u6dfb\u52a0\u9875\u9762<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-49\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E7%95%8C%E9%9D%A2%E8%AE%BE%E8%AE%A1-5\" >\u754c\u9762\u8bbe\u8ba1<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-50\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E7%95%8C%E9%9D%A2%E6%8C%82%E8%BD%BD-4\" >\u754c\u9762\u6302\u8f7d<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-51\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E5%8A%9F%E8%83%BD%E5%AE%9E%E7%8E%B0-5\" >\u529f\u80fd\u5b9e\u73b0<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-52\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E5%88%9D%E5%A7%8B%E5%8C%96%E5%BA%93%E5%AD%98%E7%BB%84%E5%90%88%E6%A1%86\" >\u521d\u59cb\u5316\u5e93\u5b58\u7ec4\u5408\u6846<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-53\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E5%BA%93%E5%AD%98%E7%BB%84%E5%90%88%E6%A1%86%E5%88%87%E6%8D%A2%E4%BA%8B%E4%BB%B6%E5%9B%9E%E8%B0%83\" >\u5e93\u5b58\u7ec4\u5408\u6846\u5207\u6362\u4e8b\u4ef6\u56de\u8c03<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-54\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E6%B7%BB%E5%8A%A0%E5%BA%93%E5%AD%98\" >\u6dfb\u52a0\u5e93\u5b58<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-55\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E5%8F%96%E6%B6%88%E5%BA%93%E5%AD%98%E8%AE%BE%E7%BD%AE\" >\u53d6\u6d88\u5e93\u5b58\u8bbe\u7f6e<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-56\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E6%B7%BB%E5%8A%A0%E6%96%B0%E5%95%86%E5%93%81\" >\u6dfb\u52a0\u65b0\u5546\u54c1<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-57\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E5%8F%96%E6%B6%88%E5%95%86%E5%93%81%E8%AE%BE%E7%BD%AE\" >\u53d6\u6d88\u5546\u54c1\u8bbe\u7f6e<\/a><\/li><\/ul><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-58\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E5%BA%93%E5%AD%98%E5%88%A0%E9%99%A4%E9%A1%B5%E9%9D%A2\" >\u5e93\u5b58\u5220\u9664\u9875\u9762<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-59\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E7%95%8C%E9%9D%A2%E8%AE%BE%E8%AE%A1-6\" >\u754c\u9762\u8bbe\u8ba1<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-60\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E7%95%8C%E9%9D%A2%E6%8C%82%E8%BD%BD-5\" >\u754c\u9762\u6302\u8f7d<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-61\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E5%8A%9F%E8%83%BD%E5%AE%9E%E7%8E%B0-6\" >\u529f\u80fd\u5b9e\u73b0<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-62\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E5%88%9D%E5%A7%8B%E5%8C%96%E7%95%8C%E9%9D%A2-3\" >\u521d\u59cb\u5316\u754c\u9762<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-63\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E7%BB%84%E5%90%88%E6%A1%86%E5%88%87%E6%8D%A2\" >\u7ec4\u5408\u6846\u5207\u6362<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-64\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E7%A1%AE%E5%AE%9A%E6%8C%89%E9%92%AE\" >\u786e\u5b9a\u6309\u94ae<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-65\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E5%8F%96%E6%B6%88%E6%8C%89%E9%92%AE\" >\u53d6\u6d88\u6309\u94ae<\/a><\/li><\/ul><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-66\" href=\"https:\/\/blog.iyatt.com\/?p=19158\/#%E8%8F%9C%E5%8D%95%E6%A0%8F\" >\u83dc\u5355\u680f<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h1><span class=\"ez-toc-section\" id=\"%E9%A2%84%E8%A7%88\"><\/span>\u9884\u89c8<span class=\"ez-toc-section-end\"><\/span><\/h1>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741620363161.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 480px; --smush-placeholder-aspect-ratio: 480\/332;\" \/><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741620384865.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 783px; --smush-placeholder-aspect-ratio: 783\/596;\" \/><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741620392942.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 796px; --smush-placeholder-aspect-ratio: 796\/604;\" \/><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741620401538.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 789px; --smush-placeholder-aspect-ratio: 789\/597;\" \/><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741620414593.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 797px; --smush-placeholder-aspect-ratio: 797\/596;\" \/><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741620423699.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 795px; --smush-placeholder-aspect-ratio: 795\/601;\" \/><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741620432443.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 184px; --smush-placeholder-aspect-ratio: 184\/179;\" \/><\/p>\n<h1><span class=\"ez-toc-section\" id=\"%E6%B5%8B%E8%AF%95%E7%8E%AF%E5%A2%83\"><\/span>\u6d4b\u8bd5\u73af\u5883<span class=\"ez-toc-section-end\"><\/span><\/h1>\n<ul>\n<li>Windows 11 \u4e13\u4e1a\u7248<\/li>\n<li>Visual Studio 2022\uff08ISO C++14\uff09<\/li>\n<li>\u8be6\u7ec6\uff1a<a href=\"https:\/\/blog.iyatt.com\/?p=18843#%E7%8E%AF%E5%A2%83\">https:\/\/blog.iyatt.com\/?p=18843#%E7%8E%AF%E5%A2%83<\/a><\/li>\n<\/ul>\n<h1><span class=\"ez-toc-section\" id=\"%E9%A1%B9%E7%9B%AE\"><\/span>\u9879\u76ee<span class=\"ez-toc-section-end\"><\/span><\/h1>\n<p>\u53c2\u8003\u9ed1\u9a6c\u7a0b\u5e8f\u5458\u7684\u6848\u4f8b\u6559\u7a0b\u8fdb\u884c\u5b9e\u8df5\u7684\u8bb0\u5f55\uff0c\u90e8\u5206\u5185\u5bb9\u81ea\u884c\u4fee\u6539\u8fc7\uff0c\u6bd4\u5982\u539f\u6848\u4f8b\u76f4\u63a5\u8bfb\u5199\u6587\u4ef6\u4fdd\u5b58\u8d26\u53f7\u3001\u5bc6\u7801\u3001\u6570\u636e\uff0c\u8fd9\u91cc\u6539\u4e3a\u4f7f\u7528 SQLite3 \u6570\u636e\u5e93\u3002<br \/>\n\u6ce8\u610f VS \u9ed8\u8ba4\u5934\u6587\u4ef6\u6269\u5c55\u540d\u7528\u7684 .h\uff0c\u6211\u662f\u559c\u6b22\u5728 C++ \u4e2d\u4f7f\u7528\u6269\u5c55\u540d .hpp\uff0c\u53ea\u8981\u4e0d\u662f\u6a21\u677f\u521b\u5efa\u7684\u4ee3\u7801\u90e8\u5206\uff0c\u662f\u6211\u81ea\u5df1\u6dfb\u52a0\u7684\u90fd\u4f7f\u7528 .hpp \u6269\u5c55\u540d\u3002<br \/>\n\u6e90\u7801\uff1a<a href=\"https:\/\/pan.baidu.com\/s\/1bLWjHoBvqFHYX1clulL2_g?pwd=4qsh\">https:\/\/pan.baidu.com\/s\/1bLWjHoBvqFHYX1clulL2_g?pwd=4qsh<\/a><\/p>\n<h2><span class=\"ez-toc-section\" id=\"%E6%96%B0%E5%BB%BA%E9%A1%B9%E7%9B%AE\"><\/span>\u65b0\u5efa\u9879\u76ee<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u65b0\u5efa\u4e00\u4e2a MFC \u5e94\u7528\uff0c\u9879\u76ee\u540d <strong>saleSystem<\/strong>\uff0c<strong>\u5e94\u7528\u7a0b\u5e8f\u7c7b\u578b<\/strong>\u9009<strong>\u5355\u4e2a\u6587\u6863<\/strong>\uff0c<strong>\u9879\u76ee\u6837\u5f0f<\/strong>\u9009<strong>MFC standard<\/strong><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741189866688.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 1072px; --smush-placeholder-aspect-ratio: 1072\/881;\" \/><\/p>\n<p><strong>\u7528\u6237\u754c\u9762\u529f\u80fd<\/strong>\u4e2d<strong>\u7ecf\u5178\u83dc\u5355\u9009\u9879<\/strong>\u9009<strong>\u65e0<\/strong>\uff0c\u518d\u70b9<strong>\u5b8c\u6210<\/strong>\u8fdb\u884c\u521b\u5efa<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741190010756.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 853px; --smush-placeholder-aspect-ratio: 853\/634;\" \/><\/p>\n<h2><span class=\"ez-toc-section\" id=\"%E4%B8%8D%E4%BD%BF%E7%94%A8%E5%AE%89%E5%85%A8%E5%87%BD%E6%95%B0\"><\/span>\u4e0d\u4f7f\u7528\u5b89\u5168\u51fd\u6570<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u5728\u9879\u76ee\u540d\u79f0\u4e0a\u53f3\u952e\u5c5e\u6027<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741190233902.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 465px; --smush-placeholder-aspect-ratio: 465\/980;\" \/><\/p>\n<p>\u5c55\u5f00<strong>\u914d\u7f6e\u5c5e\u6027<\/strong>-&gt;<strong>C\/C++<\/strong>-&gt;<strong>\u4ee3\u7801\u751f\u6210<\/strong>\uff0c\u5728<strong>\u5b89\u5168\u68c0\u67e5\u4e2d<\/strong>\u9009<strong>\u7981\u7528\u5b89\u5168\u68c0\u67e5<\/strong><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741190262715.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 782px; --smush-placeholder-aspect-ratio: 782\/558;\" \/><\/p>\n<h2><span class=\"ez-toc-section\" id=\"%E6%B7%BB%E5%8A%A0%E7%AA%97%E5%8F%A3%E5%9B%BE%E6%A0%87\"><\/span>\u6dfb\u52a0\u7a97\u53e3\u56fe\u6807<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u5c06 <strong>user.ico<\/strong> \u653e\u5230\u9879\u76ee\u76ee\u5f55\u4e0b\u7684<strong>res<\/strong>\u76ee\u5f55\u91cc<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741190756543.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 779px; --smush-placeholder-aspect-ratio: 779\/278;\" \/><\/p>\n<p>\u5207\u6362\u5230<strong>\u8d44\u6e90\u89c6\u56fe<\/strong>\u9009\u9879\u5361\uff0c\u5c55\u5f00\u4e0a\u9762\u7684\u8d44\u6e90\u5206\u652f\uff0c\u5728 <strong>Icon<\/strong> \u4e0a\u53f3\u952e<strong>\u6dfb\u52a0\u8d44\u6e90<\/strong><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741190852529.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 378px; --smush-placeholder-aspect-ratio: 378\/736;\" \/><\/p>\n<p>\u70b9<strong>\u5bfc\u5165<\/strong><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741190933233.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 434px; --smush-placeholder-aspect-ratio: 434\/337;\" \/><\/p>\n<p>\u9009\u62e9\u56fe\u6807\u6587\u4ef6<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741190991846.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 1194px; --smush-placeholder-aspect-ratio: 1194\/716;\" \/><\/p>\n<p>\u5c06<strong>ID<\/strong>\u6539\u4e3a<strong>IDI_ICON_WIN<\/strong><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741191100718.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 1376px; --smush-placeholder-aspect-ratio: 1376\/445;\" \/><\/p>\n<p>\u5728<strong>\u7c7b\u89c6\u56fe<\/strong>\u4e0b\uff0c<strong>CMainFrame<\/strong>\u7c7b\u4e2d\u7684<strong>OnCreate<\/strong>\u65b9\u6cd5\u91cc\u6dfb\u52a0\u4ee3\u7801<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741191949244.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 1054px; --smush-placeholder-aspect-ratio: 1054\/711;\" \/><\/p>\n<pre><code class=\"language-cpp\">    \/\/ \u52a0\u8f7d\u56fe\u6807\n    HICON winIcon = AfxGetApp()-&gt;LoadIconW(IDI_ICON_WIN);\n    \/\/ \u8bbe\u7f6e\u5c0f\u56fe\u6807\n    SetIcon(winIcon, FALSE);<\/code><\/pre>\n<p>\u6309<code class=\"kb-btn\">F5<\/code>\u8c03\u8bd5\u8fd0\u884c\uff0c\u70b9<strong>\u662f<\/strong>\u52a0\u8f7d\u56fe\u6807\u6587\u4ef6<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741191321243.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 476px; --smush-placeholder-aspect-ratio: 476\/208;\" \/><\/p>\n<p>\u8fd0\u884c\u6548\u679c<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741192072761.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 693px; --smush-placeholder-aspect-ratio: 693\/343;\" \/><\/p>\n<h2><span class=\"ez-toc-section\" id=\"%E8%AE%BE%E7%BD%AE%E7%AA%97%E5%8F%A3%E5%A4%A7%E5%B0%8F%E5%92%8C%E5%B1%85%E4%B8%AD%E6%98%BE%E7%A4%BA\"><\/span>\u8bbe\u7f6e\u7a97\u53e3\u5927\u5c0f\u548c\u5c45\u4e2d\u663e\u793a<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u5728<strong>\u7c7b\u89c6\u56fe<\/strong>\u4e0b\uff0c<strong>CMainFrame<\/strong>\u7c7b\u4e2d\u7684<strong>OnCreate<\/strong>\u65b9\u6cd5\u91cc\u6dfb\u52a0\u4ee3\u7801<\/p>\n<pre><code class=\"language-cpp\">    \/\/ \u8bbe\u7f6e\u4f4d\u7f6e(0,0)\u548c\u7a97\u53e3\u5927\u5c0f\uff08800\u00d7600)\n    MoveWindow(0, 0, 800, 600);\n    \/\/ \u5c45\u4e2d\u663e\u793a\n    CenterWindow();<\/code><\/pre>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741234204718.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 851px; --smush-placeholder-aspect-ratio: 851\/723;\" \/><\/p>\n<h2><span class=\"ez-toc-section\" id=\"%E8%AE%BE%E7%BD%AE%E7%AA%97%E5%8F%A3%E6%A0%87%E9%A2%98\"><\/span>\u8bbe\u7f6e\u7a97\u53e3\u6807\u9898<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u5728<strong>\u8d44\u6e90\u89c6\u56fe<\/strong>\u4e0b\uff0c\u5c55\u5f00\u8d44\u6e90\u6811\uff0c\u53cc\u51fb\u6253\u5f00 <strong>String Table<\/strong>\uff0c\u5728\u5e95\u90e8\u6dfb\u52a0\u4e00\u4e2a ID \u4e3a<strong>ID_STRING_PROJECTNAME<\/strong>\uff0c\u503c\u4e3a<strong>\u9500\u552e\u7cfb\u7edf<\/strong><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741234625952.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 772px; --smush-placeholder-aspect-ratio: 772\/528;\" \/><\/p>\n<p>\u5728<strong>\u7c7b\u89c6\u56fe<\/strong>\u4e0b<strong>CsaleSystemDoc<\/strong>\u7c7b\u4e2d<strong>OnNewDocument<\/strong>\u65b9\u6cd5\u4e0b\u6dfb\u52a0\u4ee3\u7801<\/p>\n<pre><code class=\"language-cpp\">    CString projectName;\n    projectName.LoadStringW(ID_STRING_PROJECTNAME); \/\/ \u5bfc\u5165\u5b57\u7b26\u4e32\u8d44\u6e90\n    SetTitle(projectName); \/\/ \u8bbe\u7f6e\u7a97\u53e3\u6807\u9898<\/code><\/pre>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741235016871.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 936px; --smush-placeholder-aspect-ratio: 936\/761;\" \/><\/p>\n<p>\u8fd0\u884c\u6548\u679c<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741235106099.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 919px; --smush-placeholder-aspect-ratio: 919\/810;\" \/><\/p>\n<h2><span class=\"ez-toc-section\" id=\"%E8%AE%BE%E8%AE%A1_SQLite3_%E6%95%B0%E6%8D%AE%E5%BA%93%E8%AF%BB%E5%86%99%E5%AE%9E%E7%8E%B0\"><\/span>\u8bbe\u8ba1 SQLite3 \u6570\u636e\u5e93\u8bfb\u5199\u5b9e\u73b0<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u8fd9\u91cc\u5b9e\u73b0\u8d26\u53f7\u3001\u5bc6\u7801\u3001\u5546\u54c1\u4fe1\u606f\u7684\u8bfb\u5199\uff0c\u6570\u636e\u5e93\u91c7\u7528 SQLite3\uff0c\u914d\u7f6e SQLite3 \u73af\u5883\u53c2\u8003\uff1a<a href=\"https:\/\/blog.iyatt.com\/?p=19187\">https:\/\/blog.iyatt.com\/?p=19187<\/a><\/p>\n<h3><span class=\"ez-toc-section\" id=\"%E6%89%8B%E5%8A%A8%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E6%95%B0%E6%8D%AE%E5%BA%93%E6%96%87%E4%BB%B6\"><\/span>\u624b\u52a8\u521b\u5efa\u4e00\u4e2a\u6570\u636e\u5e93\u6587\u4ef6<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u5728\u9879\u76ee\u76ee\u5f55\u4e0b\u6253\u5f00\u7ec8\u7aef\uff0c\u6267\u884c\u547d\u4ee4\u6253\u5f00\u6570\u636e\u5e93\u6587\u4ef6 <strong>saleSystem.sb<\/strong>\uff08\u4e0d\u5b58\u5728\u4f1a\u81ea\u52a8\u521b\u5efa\uff09,\u6253\u5f00\u540e\u4f1a\u5904\u4e8e\u547d\u4ee4\u4ea4\u4e92\u6a21\u5f0f<\/p>\n<pre><code class=\"language-bash\">sqlite3 saleSystem.sqlite3<\/code><\/pre>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741398214711.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 602px; --smush-placeholder-aspect-ratio: 602\/133;\" \/><\/p>\n<p>\u65b0\u5efa\u4e00\u5f20\u8868\u7528\u4e8e\u5b58\u50a8\u8d26\u53f7\u3001\u5bc6\u7801\uff0c\u5e76\u5199\u5165\u521d\u59cb\u8d26\u53f7\u3001\u5bc6\u7801\uff08\u8d26\u53f7\uff1aadmin\uff0c\u5bc6\u7801\uff1a123456\uff09<\/p>\n<pre><code class=\"language-sql\">create table users\n(\n    id integer primary key autoincrement ,\n    username text not null unique ,\n    password text not null\n);\n\ninsert into users (username, password) values (&#039;admin&#039;, &#039;123456&#039;);<\/code><\/pre>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741398444623.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 681px; --smush-placeholder-aspect-ratio: 681\/198;\" \/><\/p>\n<p>\u5728\u521b\u5efa\u4e00\u5f20\u8868\u7528\u4e8e\u5b58\u50a8\u5546\u54c1\u6570\u636e\uff0c\u5e76\u63d2\u5165\u51e0\u6761\u5546\u54c1\u6570\u636e<\/p>\n<pre><code class=\"language-sql\">create table products (\n    id integer primary key autoincrement ,\n    name text not null unique ,\n    price real not null ,\n    stock integer not null\n);\n\ninsert into products (name, price, stock) values\n    (&#039;\u684c\u5b50&#039;, 199.9, 5),\n    (&#039;\u6905\u5b50&#039;, 49.8, 10);<\/code><\/pre>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741398533725.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 520px; --smush-placeholder-aspect-ratio: 520\/256;\" \/><\/p>\n<p>\u9000\u51fa\u4ea4\u4e92\u6a21\u5f0f<\/p>\n<pre><code class=\"language-bash\">.exit<\/code><\/pre>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741398602180.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 378px; --smush-placeholder-aspect-ratio: 378\/52;\" \/><\/p>\n<h3><span class=\"ez-toc-section\" id=\"%E8%AF%BB%E5%86%99%E5%AE%9E%E7%8E%B0\"><\/span>\u8bfb\u5199\u5b9e\u73b0<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u5728<strong>\u7c7b\u89c6\u56fe<\/strong>\u4e0b\uff0c\u9879\u76ee\u4e0a\u53f3\u952e<strong>\u6dfb\u52a0<\/strong>-&gt;<strong>\u7c7b<\/strong><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741397424625.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 574px; --smush-placeholder-aspect-ratio: 574\/789;\" \/><\/p>\n<p>\u521b\u5efa\u4e00\u4e2a\u7c7b\uff0c\u7c7b\u540d<strong>StoreManager<\/strong><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741397503732.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 608px; --smush-placeholder-aspect-ratio: 608\/458;\" \/><\/p>\n<p>StoreManager.hpp<\/p>\n<pre><code class=\"language-cpp\">#pragma once\nextern &quot;C&quot;\n{\n    #include &quot;sqlite3.h&quot;\n}\n\n#include &lt;vector&gt;\n\ntypedef struct\n{\n    int id;\n    CString name;\n    double price;\n    int stock;\n}productStruct;\n\ntypedef struct\n{\n    CString username;\n    CString password;\n}loginInfoStruct;\n\ntypedef std::vector&lt;productStruct&gt; productsVector;\n\nclass StoreManager\n{\nprivate:\n    static sqlite3* db;\n    static productStruct product;\n    static loginInfoStruct loginInfo;\n\nprivate:\n    static int readLoginInfoCallback(void* data, int argc, char** argv, char** colName);\n\n    \/**\n     * @brief UTF-8 \u7f16\u7801\u7a84\u5b57\u7b26\u4e32\u8f6c GBK \u7f16\u7801 CString\n     * @param utf8Str \n     * @return \n     *\/\n    static CString utf8ToGbk(const char* utf8Str);\n\n    \/**\n     * @brief GBK \u7f16\u7801 CString \u8f6c UTF-8 \u7a84\u5b57\u7b26\u4e32\n     * @param gbkStr \n     * @return \n     *\/\n    static char* gbkToUtf8(const CString&amp; gbkStr);\n\npublic:\n    \/**\n     * @brief \u8fde\u63a5\u6570\u636e\u5e93\n     * @param databasePath \u6570\u636e\u5e93\u6587\u4ef6\u8def\u5f84\n     *\/\n    static void connect(CString&amp; databasePath);\n\n    \/**\n     * @brief \u8bfb\u53d6\u767b\u5f55\u4fe1\u606f\n     * @param username \u7528\u6237\u540d\n     * @param password \u5bc6\u7801\n     *\/\n    static void readLogin(CString&amp; username, CString&amp; password);\n\n    \/**\n     * @brief \u4fee\u6539\u5bc6\u7801\n     * @param username \u8981\u4fee\u6539\u5bc6\u7801\u7684\u7528\u6237 \n     * @param password \u65b0\u5bc6\u7801\n     *\/\n    static bool writePassword(CString&amp; username, CString&amp; password);\n\n    \/**\n     * @brief \u5173\u95ed\u6570\u636e\u5e93\n     *\/\n    static void close();\n\n    \/**\n     * @brief \u8bfb\u53d6\u5546\u54c1\u4fe1\u606f\n     * @param products \u5546\u54c1\u4fe1\u606f\u6570\u7ec4\n     *\/\n    static void readProducts(productsVector&amp; products);\n\n    \/**\n     * @brief \u5199\u5165\u5546\u54c1\u4fe1\u606f\n     * @param products \u5546\u54c1\u4fe1\u606f\u6570\u636e\n     *\/\n    static void writeProducts(productsVector&amp; products);\n\n    \/**\n     * @brief \u4fee\u6539\u5546\u54c1\u4fe1\u606f\n     * @param products \n     *\/\n    static void modifyProducts(productsVector&amp; products);\n};<\/code><\/pre>\n<p>StoreManager.cpp<\/p>\n<pre><code class=\"language-cpp\">#include &quot;pch.h&quot;\n#include &quot;StoreManager.hpp&quot;\n\n#include &lt;string&gt;\n#include &lt;stdexcept&gt;\n\nsqlite3* StoreManager::db = nullptr;\nloginInfoStruct StoreManager::loginInfo;\nproductStruct StoreManager::product;\n\nvoid StoreManager::connect(CString&amp; databasePath)\n{\n    if (StoreManager::db != nullptr)\n    {\n        return;\n    }\n\n    CW2A databasePathA(databasePath.GetString()); \/\/ \u5bbd\u5b57\u7b26\u4e32\u8f6c\u666e\u901a\u5b57\u7b26\u4e32\n    if (sqlite3_open(databasePathA, &amp;StoreManager::db) != SQLITE_OK)\n    {\n        std::string error = &quot;\u6253\u5f00\u6570\u636e\u5e93\u5931\u8d25\uff1a&quot; + std::string(sqlite3_errmsg(StoreManager::db));\n        throw std::runtime_error(error);\n    }\n}\n\nvoid StoreManager::close()\n{\n    if (StoreManager::db != nullptr)\n    {\n        sqlite3_free(StoreManager::db);\n        StoreManager::db = nullptr;\n    }\n}\n\nint StoreManager::readLoginInfoCallback(void* data, int argc, char** argv, char** colName)\n{\n    (void)data;\n    (void)argc;\n    (void)colName;\n    StoreManager::loginInfo.username = argv[1];\n    StoreManager::loginInfo.password = argv[2];\n    return 0;\n}\n\nvoid StoreManager::readLogin(CString&amp; username, CString&amp; password)\n{\n    if (StoreManager::db == nullptr)\n    {\n        std::string error = &quot;\u8bf7\u8fde\u63a5\u6570\u636e\u5e93\u540e\u518d\u8bfb\u53d6\u767b\u5f55\u4fe1\u606f&quot;;\n        throw std::runtime_error(error);\n    }\n\n    const char* sqlA = &quot;select * from users&quot;;\n    char* errorA = nullptr;\n    if (sqlite3_exec(StoreManager::db, sqlA, StoreManager::readLoginInfoCallback, nullptr, &amp;errorA) != SQLITE_OK)\n    {\n        std::string error = &quot;\u8bfb\u53d6\u767b\u5f55\u4fe1\u606f\u5931\u8d25\uff1a&quot; + std::string(errorA);\n        sqlite3_free(errorA);\n        throw std::runtime_error(error);\n    }\n\n    username = StoreManager::loginInfo.username;\n    password = StoreManager::loginInfo.password;\n}\n\nbool StoreManager::writePassword(CString&amp; username, CString&amp; password)\n{\n    if (StoreManager::db == nullptr)\n    {\n        std::string error = &quot;\u8bf7\u8fde\u63a5\u6570\u636e\u5e93\u540e\u518d\u8bfb\u53d6\u767b\u5f55\u4fe1\u606f&quot;;\n        throw std::runtime_error(error);\n    }\n\n    CString sql;\n    sql.Format(L&quot;update users set password = &#039;%s&#039; where username = &#039;%s&#039;&quot;, password.GetString(), username.GetString());\n    CW2A sqlA(sql);\n    char* errorA = nullptr;\n    if (sqlite3_exec(StoreManager::db, sqlA, nullptr, nullptr, &amp;errorA) != SQLITE_OK)\n    {\n        CA2W errorW(errorA);\n        AfxMessageBox(errorW);\n        sqlite3_free(errorA);\n        return false;\n    }\n    return true;\n}\n\nCString StoreManager::utf8ToGbk(const char* utf8Str)\n{\n    int wideCharLen = MultiByteToWideChar(CP_UTF8, 0, utf8Str, -1, nullptr, 0);\n    if (wideCharLen &lt;= 0)\n    {\n        return CString();\n    }\n\n    wchar_t* wideCharStr = new wchar_t[wideCharLen];\n    MultiByteToWideChar(CP_UTF8, 0, utf8Str, -1, wideCharStr, wideCharLen);\n\n    int gbkLen = WideCharToMultiByte(CP_ACP, 0, wideCharStr, -1, nullptr, 0, nullptr, nullptr);\n    if (gbkLen &lt;= 0)\n    {\n        delete[] wideCharStr;\n        return CString();\n    }\n\n    char* gbkStr = new char[gbkLen];\n    WideCharToMultiByte(CP_ACP, 0, wideCharStr, -1, gbkStr, gbkLen, nullptr, nullptr);\n\n    CString result(gbkStr);\n\n    delete[] wideCharStr;\n    delete[] gbkStr;\n\n    return result;\n}\n\nchar* StoreManager::gbkToUtf8(const CString&amp; gbkStr)\n{\n    \/\/ \u83b7\u53d6\u5bbd\u5b57\u7b26\u5b57\u7b26\u4e32\u7684\u957f\u5ea6\n    int wideCharLen = gbkStr.GetLength();\n    if (wideCharLen &lt;= 0)\n    {\n        return nullptr; \/\/ \u5982\u679c\u5b57\u7b26\u4e32\u4e3a\u7a7a\uff0c\u76f4\u63a5\u8fd4\u56de nullptr\n    }\n\n    \/\/ \u5c06 CString \u8f6c\u6362\u4e3a\u5bbd\u5b57\u7b26\u6570\u7ec4\n    const WCHAR* gbkW = gbkStr.GetString();\n\n    \/\/ \u83b7\u53d6\u9700\u8981\u7684 UTF-8 \u7f16\u7801\u5b57\u7b26\u4e32\u7684\u957f\u5ea6\uff08\u5305\u62ec\u7ed3\u5c3e\u7684 &#039;\\0&#039;\uff09\n    int utf8Len = WideCharToMultiByte(CP_UTF8, 0, gbkW, -1, nullptr, 0, nullptr, nullptr);\n    if (utf8Len &lt;= 0)\n    {\n        return nullptr; \/\/ \u5982\u679c\u8f6c\u6362\u5931\u8d25\uff0c\u8fd4\u56de nullptr\n    }\n\n    \/\/ \u5206\u914d\u5185\u5b58\u7528\u4e8e\u5b58\u50a8 UTF-8 \u7f16\u7801\u7684\u5b57\u7b26\u4e32\n    char* utf8Str = new char[utf8Len];\n\n    \/\/ \u6267\u884c\u8f6c\u6362\n    if (WideCharToMultiByte(CP_UTF8, 0, gbkW, -1, utf8Str, utf8Len, nullptr, nullptr) == 0)\n    {\n        delete[] utf8Str; \/\/ \u5982\u679c\u8f6c\u6362\u5931\u8d25\uff0c\u91ca\u653e\u5df2\u5206\u914d\u7684\u5185\u5b58\n        return nullptr;\n    }\n\n    return utf8Str; \/\/ \u8fd4\u56de\u8f6c\u6362\u540e\u7684 UTF-8 \u5b57\u7b26\u4e32\n}\n\nvoid StoreManager::readProducts(productsVector&amp; products)\n{\n    if (StoreManager::db == nullptr)\n    {\n        std::string error = &quot;\u8bf7\u8fde\u63a5\u6570\u636e\u5e93\u540e\u518d\u8bfb\u53d6\u5546\u54c1\u4fe1\u606f&quot;;\n        throw std::runtime_error(error);\n    }\n\n    products.clear();\n\n    const char* sqlA = &quot;select * from products&quot;;\n    char** result = nullptr;\n    char* errorA = nullptr;\n    int rows, cols;\n    if (sqlite3_get_table(StoreManager::db, sqlA, &amp;result, &amp;rows, &amp;cols, &amp;errorA) != SQLITE_OK)\n    {\n        CA2W errorW(errorA);\n        AfxMessageBox(errorW);\n        sqlite3_free(errorA);\n        return;\n    }\n\n    productStruct product;\n    for (int row = 1; row &lt;= rows; ++row)\n    {\n        product.id = std::stoi(result[row * cols + 0]);\n        product.name = StoreManager::utf8ToGbk(result[row * cols + 1]);\n        product.price = std::stod(result[row * cols + 2]);\n        product.stock = std::stoi(result[row * cols + 3]);\n        products.push_back(product);\n    }\n}\n\nvoid StoreManager::writeProducts(productsVector&amp; products)\n{\n    if (StoreManager::db == nullptr)\n    {\n        std::string error = &quot;\u8bf7\u8fde\u63a5\u6570\u636e\u5e93\u540e\u518d\u5199\u5165\u5546\u54c1\u4fe1\u606f&quot;;\n        throw std::runtime_error(error);\n    }\n\n    CString sql;\n    char* errorA = nullptr;\n    for (productStruct product : products)\n    {\n        sql.Format(L&quot;insert into products (name, price, stock) values (&#039;%s&#039;, %f, %d)&quot;, product.name.GetString(), product.price, product.stock);\n        char* sqlA = StoreManager::gbkToUtf8(sql);\n        if (sqlite3_exec(StoreManager::db, sqlA, nullptr, nullptr, &amp;errorA) != SQLITE_OK)\n        {\n            CA2W errorW(errorA);\n            AfxMessageBox(errorW);\n            sqlite3_free(errorA);\n            delete[] sqlA;\n            break;\n        }\n        else\n        {\n            delete[] sqlA;\n        }\n    }\n}\n\nvoid StoreManager::modifyProducts(productsVector&amp; products)\n{\n    if (StoreManager::db == nullptr)\n    {\n        std::string error = &quot;\u8bf7\u8fde\u63a5\u6570\u636e\u5e93\u540e\u518d\u4fee\u6539\u5546\u54c1\u4fe1\u606f&quot;;\n        throw std::runtime_error(error);\n    }\n\n    CString sql;\n    char* errorA = nullptr;\n    for (productStruct product : products)\n    {\n        sql.Format(L&quot;update products set price = %f, stock = %d where name = &#039;%s&#039;&quot;, product.price, product.stock, product.name.GetString());\n        char* sqlA = StoreManager::gbkToUtf8(sql);\n\n        if (sqlite3_exec(StoreManager::db, sqlA, nullptr, nullptr, &amp;errorA) != SQLITE_OK)\n        {\n            CA2W errorW(errorA);\n            AfxMessageBox(errorW);\n            sqlite3_free(errorA);\n            delete[] sqlA;\n            break;\n        }\n        else\n        {\n            delete[] sqlA;\n        }\n    }\n}<\/code><\/pre>\n<h3><span class=\"ez-toc-section\" id=\"%E4%BF%9D%E8%AF%81%E7%A8%8B%E5%BA%8F%E9%80%80%E5%87%BA%E6%97%B6%E5%85%B3%E9%97%AD%E6%95%B0%E6%8D%AE%E5%BA%93\"><\/span>\u4fdd\u8bc1\u7a0b\u5e8f\u9000\u51fa\u65f6\u5173\u95ed\u6570\u636e\u5e93<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u5728<strong>\u7c7b\u89c6\u56fe<\/strong>\u4e0b\uff0c<strong>CsaleSystemApp<\/strong>\u7c7b\u4e2d\uff0c\u627e\u4e00\u4e2a\u4f4d\u7f6e\u5199\u5165\u3002\u6ce8\u610f\u8981\u5f15\u7528 <strong>StoreManager.hpp<\/strong> \u5934\u6587\u4ef6<\/p>\n<pre><code class=\"language-cpp\">struct Release\n{\n    ~Release()\n    {\n        StoreManager::close();\n    }\n} release;<\/code><\/pre>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741421283438.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 731px; --smush-placeholder-aspect-ratio: 731\/694;\" \/><\/p>\n<p>\u53ef\u4ee5\u628a C++ \u4e2d\u7684 struct \u770b\u4f5c\u662f\u9ed8\u8ba4 public \u7684 class\uff0c\u8fd9\u91cc\u6790\u6784\u51fd\u6570\u9700\u8981 public\uff0c\u4f7f\u7528 struct \u5c31\u4e0d\u9700\u8981\u989d\u5916\u5199\u4e00\u4e2a<strong>public:<\/strong>\uff0c\u7136\u540e\u5b9e\u4f8b\u5316\u4e00\u4e2a\u5bf9\u8c61\uff0c\u8fd9\u6837\u7a0b\u5e8f\u7ed3\u675f\u7684\u65f6\u5019\u5c31\u4f1a\u81ea\u52a8\u8c03\u7528\u8fd9\u4e2a\u6790\u6784\u51fd\u6570\uff0c\u5b8c\u6210\u8d44\u6e90\u7684\u91ca\u653e\u3002<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%E7%99%BB%E5%BD%95%E5%AF%B9%E8%AF%9D%E6%A1%86\"><\/span>\u767b\u5f55\u5bf9\u8bdd\u6846<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"%E7%95%8C%E9%9D%A2%E8%AE%BE%E8%AE%A1\"><\/span>\u754c\u9762\u8bbe\u8ba1<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u5728<strong>\u8d44\u6e90\u89c6\u56fe<\/strong>\u4e0b\uff0c<strong>Dialog<\/strong>\u4e0a\u53f3\u952e<strong>\u63d2\u5165<\/strong><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741407366233.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 400px; --smush-placeholder-aspect-ratio: 400\/761;\" \/><\/p>\n<p>\u5c06\u5bf9\u8bdd\u6846 ID \u6539\u4e3a <strong>DIALOG_LOGIN<\/strong><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741407554426.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 1171px; --smush-placeholder-aspect-ratio: 1171\/412;\" \/><\/p>\n<p>\u6dfb\u52a0\u63a7\u4ef6\uff0c\u5e76\u8bbe\u7f6e\u597d\u63cf\u8ff0\u6587\u5b57\uff0c\u8bbe\u7f6e\u7a97\u53e3\u6807\u9898<br \/>\n(\u4f7f\u7528 Static Text\u3001Edit Control \u548c Button)<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741414875731.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 886px; --smush-placeholder-aspect-ratio: 886\/523;\" \/><\/p>\n<p>\u5728\u5bf9\u8bdd\u6846\u7a7a\u767d\u5904\u53f3\u952e<strong>\u6dfb\u52a0\u7c7b<\/strong><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741407934825.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 583px; --smush-placeholder-aspect-ratio: 583\/430;\" \/><\/p>\n<p>\u521b\u5efa\u4e00\u4e2a\u7c7b <strong>LoginDialog<\/strong><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741408243090.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 609px; --smush-placeholder-aspect-ratio: 609\/457;\" \/><\/p>\n<p>\u4e3a\u7528\u6237\u540d\u7f16\u8f91\u6846\u521b\u5efa\u53d8\u91cf<strong>usernameEditControl<\/strong>\uff0c\u8bbf\u95ee\u9009<strong>private<\/strong><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741408354562.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 578px; --smush-placeholder-aspect-ratio: 578\/389;\" \/><\/p>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741408398608.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 731px; --smush-placeholder-aspect-ratio: 731\/531;\" \/><\/p>\n<p>\u540c\u6837\u4e3a\u5bc6\u7801\u7f16\u8f91\u6846\u521b\u5efa\u53d8\u91cf<strong>passwordEditControl<\/strong><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741408472298.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 856px; --smush-placeholder-aspect-ratio: 856\/599;\" \/><\/p>\n<h3><span class=\"ez-toc-section\" id=\"%E5%8A%9F%E8%83%BD%E5%AE%9E%E7%8E%B0\"><\/span>\u529f\u80fd\u5b9e\u73b0<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<h4><span class=\"ez-toc-section\" id=\"%E8%AE%A9%E7%99%BB%E5%BD%95%E5%AF%B9%E8%AF%9D%E6%A1%86%E5%9C%A8%E6%96%87%E6%A1%A3%E4%B9%8B%E5%89%8D%E5%88%9B%E5%BB%BA\"><\/span>\u8ba9\u767b\u5f55\u5bf9\u8bdd\u6846\u5728\u6587\u6863\u4e4b\u524d\u521b\u5efa<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>\u5728<strong>\u7c7b\u89c6\u56fe<\/strong>\u4e0b\uff0c<strong>CsaleSystemApp<\/strong> \u7c7b\u4e2d\u7684 <strong>InitInstance<\/strong> \u65b9\u6cd5\u4e2d<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741414508211.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 351px; --smush-placeholder-aspect-ratio: 351\/750;\" \/><\/p>\n<p>\u627e\u5230<strong>CWinApp::InitInstance();<\/strong>\u7684\u4f4d\u7f6e\uff0c\u5728\u5b83\u4e4b\u524d\u4ee5\u6a21\u6001\u7684\u65b9\u5f0f\u8fd0\u884c\u767b\u5f55\u5bf9\u8bdd\u6846\u3002\u6ce8\u610f\u8981\u5f15\u7528\u5bf9\u8bdd\u6846\u7684\u5934\u6587\u4ef6 <strong>LoginDialog.hpp<\/strong>\u3002<br \/>\n\u7136\u540e\u5224\u65ad\u8fd4\u56de\u503c\uff0c\u540e\u7eed\u5b9e\u73b0\u4e2d\u5982\u679c\u767b\u5f55\u6210\u529f\u624d\u4f1a\u8c03\u7528 <strong>OnOK<\/strong>\uff0c\u8fd9\u8fb9\u5f97\u5230\u7684\u8fd4\u56de\u503c\u5c31\u662f <strong>IDOK<\/strong>\uff0c\u5982\u679c\u4e0d\u662f\u90a3\u5c31\u8bf4\u660e\u70b9\u51fb\u4e86\u53d6\u6d88\u767b\u5f55\u6216\u53f3\u4e0a\u89d2\u7684\u5173\u95ed\u6309\u94ae\uff0c\u4ee5\u53ca\u5176\u5b83\u64cd\u4f5c\uff0c\u8fd9\u65f6\u5019\u5c31\u8981\u76f4\u63a5\u8fd4\u56de\uff0c\u5c31\u4e0d\u4f1a\u521b\u5efa\u540e\u7eed\u6587\u6863\u9875\u9762\u3002<\/p>\n<pre><code class=\"language-cpp\">    LoginDialog loginDialog;\n    if (loginDialog.DoModal() != IDOK)\n    {\n        return TRUE;\n    }<\/code><\/pre>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741421700220.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 742px; --smush-placeholder-aspect-ratio: 742\/682;\" \/><\/p>\n<p>\u8fd9\u65f6\u5019\u8c03\u8bd5\u8fd0\u884c\u5c31\u4f1a\u5148\u663e\u793a\u767b\u5f55\u5bf9\u8bdd\u6846\uff0c\u4f46\u662f\u5173\u95ed\u767b\u5f55\u5bf9\u8bdd\u6846\u540e\u4f1a\u663e\u793a\u6587\u6863\u9875\u9762\uff0c\u540e\u7eed\u8fd8\u8981\u5904\u7406\u8fd9\u4e2a\u903b\u8f91\uff0c\u53ea\u6709\u767b\u5f55\u9a8c\u8bc1\u624d\u5e94\u8be5\u663e\u793a\u540e\u7eed\u7684\u6587\u6863\u3002<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741415013043.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 472px; --smush-placeholder-aspect-ratio: 472\/319;\" \/><\/p>\n<h4><span class=\"ez-toc-section\" id=\"%E6%95%B0%E6%8D%AE%E5%BA%93%E8%BF%9E%E6%8E%A5\"><\/span>\u6570\u636e\u5e93\u8fde\u63a5<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>\u5728<strong>\u8d44\u6e90\u89c6\u56fe<\/strong>\u4e0b\uff0c<strong>StringTable<\/strong> \u6dfb\u52a0\u4e00\u4e2a\u5b57\u6bb5 <strong>DATABASE_PATH<\/strong>\uff0c\u8bbe\u7f6e SQLite3 \u6570\u636e\u5e93\u6587\u4ef6\u7684\u8def\u5f84\uff0c\u8fd9\u91cc\u5c31\u5728\u9879\u76ee\u76ee\u5f55\u4e0b\uff0c\u4f7f\u7528\u76f8\u5bf9\u8def\u5f84<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741413881155.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 758px; --smush-placeholder-aspect-ratio: 758\/523;\" \/><\/p>\n<p><strong>\u7c7b\u89c6\u56fe<\/strong>\u4e0b\uff0c\u5728\u767b\u5f55\u5bf9\u8bdd\u6846\u7c7b<strong>LoginDialog<\/strong>\u4e0a\u53f3\u952e<strong>\u5c5e\u6027<\/strong><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741413126804.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 408px; --smush-placeholder-aspect-ratio: 408\/694;\" \/><\/p>\n<p>\u4e0a\u9762\u70b9\u51fb\u56fe\u6807\u5207\u6362\u5230<strong>\u91cd\u5199<\/strong>\u9875\u9762\uff0c\u6dfb\u52a0\uff08\u91cd\u5199\uff09 <strong>OnInitDialog<\/strong><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741413229201.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 376px; --smush-placeholder-aspect-ratio: 376\/680;\" \/><\/p>\n<p>\u7136\u540e\u56de\u5230 <strong>OnInitDialog<\/strong> \u51fd\u6570\u4e2d\uff0c\u6dfb\u52a0\u8fde\u63a5\u6570\u636e\u5e93\u7684\u4ee3\u7801\u3002\u6ce8\u610f\u524d\u9762\u8981\u5f15\u7528\u6570\u636e\u5e93\u8bfb\u5199\u5b9e\u73b0\u7684\u5934\u6587\u4ef6 <strong>StoreManager.hpp<\/strong>\u3002<\/p>\n<pre><code class=\"language-cpp\">    CString databasePath;\n    databasePath.LoadStringW(DATABASE_PATH);\n    StoreManager::connect(databasePath);<\/code><\/pre>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741414068035.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 781px; --smush-placeholder-aspect-ratio: 781\/632;\" \/><\/p>\n<h4><span class=\"ez-toc-section\" id=\"%E7%99%BB%E5%BD%95%E6%8C%89%E9%92%AE%E5%9B%9E%E8%B0%83%E5%AE%9E%E7%8E%B0\"><\/span>\u767b\u5f55\u6309\u94ae\u56de\u8c03\u5b9e\u73b0<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>\u53cc\u51fb\u767b\u5f55\u6309\u94ae\u4f1a\u76f4\u63a5\u521b\u5efa\u70b9\u51fb\u4e8b\u4ef6\u7684\u56de\u8c03<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741415213275.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 887px; --smush-placeholder-aspect-ratio: 887\/511;\" \/><\/p>\n<p>\u5199\u5165\u4ee3\u7801<\/p>\n<pre><code class=\"language-cpp\">    \/\/ \u8bfb\u53d6\u7528\u6237\u8f93\u5165\u7684\u7528\u6237\u540d\u548c\u5bc6\u7801\n    CString inputUsername, inputPassword;\n    this-&gt;usernameEditControl.GetWindowTextW(inputUsername);\n    this-&gt;passwordEditControl.GetWindowTextW(inputPassword);\n\n    \/\/ \u8bfb\u53d6\u6570\u636e\u5e93\u4e2d\u7684\u7528\u6237\u540d\u548c\u5bc6\u7801\n    CString username, password;\n    StoreManager::readLogin(username, password);\n\n    \/\/ \u5224\u65ad\u7528\u6237\u540d\u548c\u5bc6\u7801\n    if (inputUsername == username)\n    {\n        if (inputPassword != password)\n        {\n            MessageBox(L&quot;\u5bc6\u7801\u9519\u8bef&quot;);\n            this-&gt;usernameEditControl.SetWindowTextW(L&quot;&quot;);\n            this-&gt;passwordEditControl.SetWindowTextW(L&quot;&quot;);\n        }\n        else\n        {\n            MessageBox(L&quot;\u767b\u5f55\u6210\u529f&quot;);\n            CDialogEx::OnOK();\n        }\n    }\n    else\n    {\n        MessageBox(L&quot;\u7528\u6237\u540d\u4e0d\u5b58\u5728&quot;);\n        this-&gt;usernameEditControl.SetWindowTextW(L&quot;&quot;);\n        this-&gt;passwordEditControl.SetWindowTextW(L&quot;&quot;);\n    }<\/code><\/pre>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741416985508.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 833px; --smush-placeholder-aspect-ratio: 833\/738;\" \/><\/p>\n<p>\u8c03\u8bd5\u8fd0\u884c<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741416724887.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 465px; --smush-placeholder-aspect-ratio: 465\/320;\" \/><\/p>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741416751946.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 464px; --smush-placeholder-aspect-ratio: 464\/316;\" \/><\/p>\n<h4><span class=\"ez-toc-section\" id=\"%E5%8F%96%E6%B6%88%E6%8C%89%E9%92%AE%E5%9B%9E%E8%B0%83%E5%AE%9E%E7%8E%B0\"><\/span>\u53d6\u6d88\u6309\u94ae\u56de\u8c03\u5b9e\u73b0<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>\u53cc\u51fb\u53d6\u6d88\u6309\u94ae\uff0c\u521b\u5efa\u70b9\u51fb\u4e8b\u4ef6\u56de\u8c03<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741416832900.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 858px; --smush-placeholder-aspect-ratio: 858\/512;\" \/><\/p>\n<p>\u70b9\u51fb\u53d6\u6d88\u8c03\u7528\u53d6\u6d88\u65b9\u6cd5<\/p>\n<pre><code class=\"language-cpp\">    CDialogEx::OnCancel();<\/code><\/pre>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741418408339.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 681px; --smush-placeholder-aspect-ratio: 681\/767;\" \/><\/p>\n<h4><span class=\"ez-toc-section\" id=\"%E4%BF%AE%E6%94%B9%E5%9B%9E%E8%BD%A6%E9%94%AE%E4%B8%BA%E7%99%BB%E5%BD%95\"><\/span>\u4fee\u6539\u56de\u8f66\u952e\u4e3a\u767b\u5f55<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>\u5bf9\u8bdd\u6846\u9ed8\u8ba4\u72b6\u6001\u4e0b\u6309\u56de\u8f66\u4f1a\u8c03\u7528 <strong>CDialogEx::OnOK()<\/strong>\uff0c\u8fd9\u5c31\u4f1a\u8ba9\u767b\u5f55\u9a8c\u8bc1\u6210\u4e3a\u6446\u8bbe\uff0c\u76f8\u5f53\u4e8e\u70b9\u51fb\u4e86\u767b\u5f55\u5bf9\u8bdd\u6846\u7684 OK\uff0c\u90a3\u4e48\u63a5\u4e0b\u6765\u5c31\u4f1a\u76f4\u63a5\u8fdb\u5165\u6587\u6863\u9875\u9762\u3002<br \/>\n\u53e6\u5916\u6309\u7167\u4e00\u822c\u4f7f\u7528\u4e60\u60ef\u56de\u8f66\u952e\u5c31\u662f\u786e\u8ba4\u8f93\u5165\uff0c\u8fd9\u91cc\u4e5f\u5c31\u662f\u786e\u8ba4\u767b\u5f55\u3002<br \/>\n\u5728<strong>\u7c7b\u89c6\u56fe<\/strong>\u4e0b\uff0c<strong>LoginDialog<\/strong>\u7c7b\u4e0a\u53f3\u952e<strong>\u5c5e\u6027<\/strong>\uff0c\u91cd\u5199\u5bf9\u8bdd\u6846\u7684 <strong>OnOK<\/strong><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741423829094.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 365px; --smush-placeholder-aspect-ratio: 365\/707;\" \/><\/p>\n<p>\u6ce8\u91ca\u6389<strong>CDialogEx::OnOK();<\/strong>\uff0c\u7136\u540e\u8c03\u7528\u767b\u5f55\u6309\u94ae\u70b9\u51fb\u4e8b\u4ef6\u7684\u56de\u8c03\u65b9\u6cd5\uff0c\u8fd9\u5c31\u6309\u56de\u8f66\u5c31\u7b49\u4e8e\u662f\u70b9\u51fb\u767b\u5f55\u6309\u94ae\u3002<\/p>\n<pre><code class=\"language-cpp\">    this-&gt;OnBnClickedButton1();<\/code><\/pre>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741444096829.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 825px; --smush-placeholder-aspect-ratio: 825\/831;\" \/><\/p>\n<h2><span class=\"ez-toc-section\" id=\"%E9%9D%99%E6%80%81%E6%8B%86%E5%88%86%E7%AA%97%E5%8F%A3\"><\/span>\u9759\u6001\u62c6\u5206\u7a97\u53e3<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"%E8%87%AA%E5%AE%9A%E4%B9%89%E8%A7%86%E5%9B%BE%E7%B1%BB\"><\/span>\u81ea\u5b9a\u4e49\u89c6\u56fe\u7c7b<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u5728<strong>\u7c7b\u89c6\u56fe<\/strong>\u4e2d\u9879\u76ee\u540d\u4e0a\u53f3\u952e<strong>\u7c7b\u5411\u5bfc<\/strong><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741424816358.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 420px; --smush-placeholder-aspect-ratio: 420\/479;\" \/><\/p>\n<p>\u4e0b\u62c9<strong>MFC \u7c7b<\/strong><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741424839020.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 700px; --smush-placeholder-aspect-ratio: 700\/208;\" \/><\/p>\n<p>\u7c7b\u540d <strong>SelectView<\/strong>\uff0c\u57fa\u7c7b<strong>CTreeView<\/strong><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741425523774.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 606px; --smush-placeholder-aspect-ratio: 606\/453;\" \/><\/p>\n<p>\u540c\u6837\u518d\u6dfb\u52a0\u4e00\u4e2a\u7c7b<strong>DisplayView<\/strong>\uff0c\u57fa\u7c7b<strong>CFormView<\/strong><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741425047751.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 694px; --smush-placeholder-aspect-ratio: 694\/509;\" \/><\/p>\n<p>\u521b\u5efa\u5b8c\u4e0a\u9762\u4e24\u4e2a\u7c7b\uff0c\u5728\u7c7b\u5411\u5bfc\u9875\u9762\u70b9\u786e\u5b9a\uff0c\u7f16\u8bd1\u5728\u4e0b\u9762\u53ef\u80fd\u770b\u5230\u4e00\u5806 <strong>SelectView<\/strong> \u5934\u6587\u4ef6\u548c\u6e90\u6587\u4ef6\u7684\u62a5\u9519<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741426043823.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 1209px; --smush-placeholder-aspect-ratio: 1209\/390;\" \/><\/p>\n<p>\u5728\u5934\u6587\u4ef6\u589e\u52a0\u5f15\u7528 <strong>#include &quot;afxcview.h&quot;<\/strong>\uff0c<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741426113556.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 634px; --smush-placeholder-aspect-ratio: 634\/514;\" \/><\/p>\n<p>\u518d\u7f16\u8bd1\u5c31\u597d\u4e86<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741426173966.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 610px; --smush-placeholder-aspect-ratio: 610\/248;\" \/><\/p>\n<h3><span class=\"ez-toc-section\" id=\"%E6%8B%86%E5%88%86%E7%AA%97%E5%8F%A3\"><\/span>\u62c6\u5206\u7a97\u53e3<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u5728<strong>\u7c7b\u89c6\u56fe<\/strong>\u4e2d\uff0c\u70b9\u5f00 <strong>CMainFrame<\/strong> \u7c7b\uff0c\u58f0\u660e\u4e00\u4e2a\u5bf9\u8c61<\/p>\n<pre><code class=\"language-cpp\">private:\n    CSplitterWnd splitter;<\/code><\/pre>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741432993091.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 699px; --smush-placeholder-aspect-ratio: 699\/856;\" \/><\/p>\n<p>\u5728<strong>CMainFrame<\/strong>\u4e0a\u53f3\u952e<strong>\u5c5e\u6027<\/strong><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741433052094.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 410px; --smush-placeholder-aspect-ratio: 410\/639;\" \/><\/p>\n<p>\u91cd\u5199 <strong>OnCreateClient<\/strong><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741433108311.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 384px; --smush-placeholder-aspect-ratio: 384\/703;\" \/><\/p>\n<p>\u628a\u539f\u6765\u7684\u8fd4\u56de\u6ce8\u91ca\u4e86\uff0c\u91cd\u65b0\u5199<br \/>\n\u6ce8\u610f\u9700\u8981\u5f15\u7528 <strong>SelectView.hpp<\/strong> \u548c <strong>DisplayView.hpp<\/strong> \u5934\u6587\u4ef6<\/p>\n<pre><code class=\"language-cpp\">    \/\/ \u62c6\u5206\u4e3a 1 \u884c 2 \u5217\n    this-&gt;splitter.CreateStatic(this, 1, 2);\n\n    \/\/ \u521b\u5efa\u5de6\u4fa7\u89c6\u56fe\n    this-&gt;splitter.CreateView(0, 0, RUNTIME_CLASS(SelectView), CSize(200, 500), pContext);\n\n    \/\/ \u521b\u5efa\u53f3\u4fa7\u89c6\u56fe\n    this-&gt;splitter.CreateView(0, 1, RUNTIME_CLASS(DisplayView), CSize(600, 500), pContext);\n\n    return TRUE;<\/code><\/pre>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741433710541.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 1025px; --smush-placeholder-aspect-ratio: 1025\/836;\" \/><\/p>\n<p>\u8c03\u8bd5\u8fd0\u884c\uff0c\u767b\u5f55\u540e\u53ef\u4ee5\u770b\u5230\u4e0b\u56fe\u7684\u5e03\u5c40<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741433647359.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 792px; --smush-placeholder-aspect-ratio: 792\/598;\" \/><\/p>\n<h2><span class=\"ez-toc-section\" id=\"%E5%B7%A6%E4%BE%A7%E6%A0%91%E8%A7%86%E5%9B%BE\"><\/span>\u5de6\u4fa7\u6811\u89c6\u56fe<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"%E6%B7%BB%E5%8A%A0%E5%8A%9F%E8%83%BD%E8%8A%82%E7%82%B9\"><\/span>\u6dfb\u52a0\u529f\u80fd\u8282\u70b9<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>\u8d44\u6e90\u89c6\u56fe<\/strong>\u4e0b\uff0c<strong>Icon<\/strong>\u53f3\u952e<strong>\u6dfb\u52a0\u8d44\u6e90<\/strong><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741439895811.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 385px; --smush-placeholder-aspect-ratio: 385\/465;\" \/><\/p>\n<p>\u5bfc\u5165<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741439940910.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 431px; --smush-placeholder-aspect-ratio: 431\/348;\" \/><\/p>\n<p>\u9009\u62e9 re.ico \u6587\u4ef6<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741439977403.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 1195px; --smush-placeholder-aspect-ratio: 1195\/721;\" \/><\/p>\n<p>ID \u91cd\u8bbe\u4e3a <strong>IDI_ICON_RE<\/strong><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741440032611.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 1405px; --smush-placeholder-aspect-ratio: 1405\/438;\" \/><\/p>\n<p><strong>\u7c7b\u89c6\u56fe<\/strong>\u4e0b\u53cc\u51fb<strong>SelectView<\/strong>\u7c7b\uff0c\u5728\u7c7b\u5934\u6587\u4ef6\u4e2d\u589e\u52a0<\/p>\n<pre><code class=\"language-cpp\">private:\n    CTreeCtrl* treeCtrl;\n    CImageList imageList;<\/code><\/pre>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741442639449.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 816px; --smush-placeholder-aspect-ratio: 816\/511;\" \/><\/p>\n<p><strong>SelectView<\/strong> \u7c7b\u4e0a\u53f3\u952e\u5c5e\u6027<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741442106171.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 409px; --smush-placeholder-aspect-ratio: 409\/394;\" \/><\/p>\n<p>\u91cd\u5199 <strong>OnInitialUpdate<\/strong><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741442148580.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 370px; --smush-placeholder-aspect-ratio: 370\/638;\" \/><\/p>\n<p>\u5199\u5165<\/p>\n<pre><code class=\"language-cpp\">    \/\/ \u52a0\u8f7d\u56fe\u6807\n    HICON icon = AfxGetApp()-&gt;LoadIconW(IDI_ICON_RE);\n\n    \/\/ \u521b\u5efa\u56fe\u7247\u5217\u8868\n    this-&gt;imageList.Create(30, 30, ILC_COLOR32, 1, 1);\n\n    \/\/ \u6dfb\u52a0\u56fe\u6807\n    this-&gt;imageList.Add(icon);\n\n    \/\/ \u83b7\u53d6\u6811\u63a7\u4ef6\n    this-&gt;treeCtrl = &amp;GetTreeCtrl();\n\n    \/\/ \u6811\u63a7\u4ef6\u8bbe\u7f6e\u56fe\u7247\u5217\u8868\n    this-&gt;treeCtrl-&gt;SetImageList(&amp;this-&gt;imageList, TVSIL_NORMAL);\n\n    \/\/ \u6811\u63a7\u4ef6\u8bbe\u7f6e\u8282\u70b9\n    this-&gt;treeCtrl-&gt;InsertItem(L&quot;\u4e2a\u4eba\u4fe1\u606f&quot;, 0, 0, TVI_ROOT, TVI_LAST);\n    this-&gt;treeCtrl-&gt;InsertItem(L&quot;\u9500\u552e\u7ba1\u7406&quot;, 0, 0, TVI_ROOT, TVI_LAST);\n    this-&gt;treeCtrl-&gt;InsertItem(L&quot;\u5e93\u5b58\u4fe1\u606f&quot;, 0, 0, TVI_ROOT, TVI_LAST);\n    this-&gt;treeCtrl-&gt;InsertItem(L&quot;\u5e93\u5b58\u6dfb\u52a0&quot;, 0, 0, TVI_ROOT, TVI_LAST);\n    this-&gt;treeCtrl-&gt;InsertItem(L&quot;\u5e93\u5b58\u5220\u9664&quot;, 0, 0, TVI_ROOT, TVI_LAST);<\/code><\/pre>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741443506028.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 993px; --smush-placeholder-aspect-ratio: 993\/824;\" \/><\/p>\n<p>\u8fd0\u884c\u767b\u9646\u540e<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741443437182.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 791px; --smush-placeholder-aspect-ratio: 791\/591;\" \/><\/p>\n<h3><span class=\"ez-toc-section\" id=\"%E5%8A%9F%E8%83%BD%E8%8A%82%E7%82%B9%E6%B6%88%E6%81%AF%E5%A4%84%E7%90%86\"><\/span>\u529f\u80fd\u8282\u70b9\u6d88\u606f\u5904\u7406<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u67e5\u770b <strong>SelectView<\/strong> \u7c7b\u5c5e\u6027\uff0c\u6dfb\u52a0\u6d88\u606f<strong>TVN_SELCHANGED<\/strong> \u7684\u56de\u8c03<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741447180160.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 363px; --smush-placeholder-aspect-ratio: 363\/598;\" \/><\/p>\n<p>\u5199\u5165<\/p>\n<pre><code class=\"language-cpp\">    \/\/ \u83b7\u53d6\u9009\u4e2d\u7684\u9879\u76ee\n    HTREEITEM item = this-&gt;treeCtrl-&gt;GetSelectedItem();\n\n    \/\/ \u83b7\u53d6\u9009\u4e2d\u9879\u6587\u672c\u5185\u5bb9\n    CString selectedText = this-&gt;treeCtrl-&gt;GetItemText(item);\n\n    if (selectedText == L&quot;\u4e2a\u4eba\u4fe1\u606f&quot;)\n    {\n\n    }\n    else if (selectedText == L&quot;\u9500\u552e\u7ba1\u7406&quot;)\n    {\n\n    }\n    else if (selectedText == L&quot;\u5e93\u5b58\u4fe1\u606f&quot;)\n    {\n\n    }\n    else if (selectedText == L&quot;\u5e93\u5b58\u6dfb\u52a0&quot;)\n    {\n\n    }\n    else if (selectedText == L&quot;\u5e93\u5b58\u5220\u9664&quot;)\n    {\n\n    }<\/code><\/pre>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741447677773.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 956px; --smush-placeholder-aspect-ratio: 956\/822;\" \/><\/p>\n<h2><span class=\"ez-toc-section\" id=\"%E4%B8%AA%E4%BA%BA%E4%BF%A1%E6%81%AF%E9%A1%B5%E9%9D%A2\"><\/span>\u4e2a\u4eba\u4fe1\u606f\u9875\u9762<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"%E7%95%8C%E9%9D%A2%E8%AE%BE%E8%AE%A1-2\"><\/span>\u754c\u9762\u8bbe\u8ba1<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>\u8d44\u6e90\u89c6\u56fe<\/strong>\u4e0b\uff0c<strong>Dialog<\/strong>\u4e0a\u53f3\u952e<strong>\u63d2\u5165<\/strong><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741483471302.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 368px; --smush-placeholder-aspect-ratio: 368\/454;\" \/><\/p>\n<p><strong>ID<\/strong>\u6539\u4e3a<strong>DIALOG_USER<\/strong>\uff0c<strong>\u8fb9\u6846<\/strong>\u6539\u4e3a<strong>None<\/strong>\uff0c<strong>\u6837\u5f0f<\/strong>\u6539\u4e3a<strong>Child<\/strong><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741483635804.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 393px; --smush-placeholder-aspect-ratio: 393\/351;\" \/><\/p>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741483662758.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 343px; --smush-placeholder-aspect-ratio: 343\/666;\" \/><\/p>\n<p>\u7ed8\u5236\u9875\u9762\uff0c\u539f\u6765\u7684\u786e\u5b9a\u548c\u53d6\u6d88\u6309\u94ae\u4fdd\u7559<br \/>\n\uff08Group Box\u3001Static Text\u3001Edit Control\uff09<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741484323378.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 554px; --smush-placeholder-aspect-ratio: 554\/417;\" \/><\/p>\n<p>\u5728\u5bf9\u8bdd\u6846\u7a7a\u767d\u5904\u53f3\u952e<strong>\u6dfb\u52a0\u7c7b<\/strong><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741484442294.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 348px; --smush-placeholder-aspect-ratio: 348\/370;\" \/><\/p>\n<p>\u7c7b\u540d <strong>UserDialog<\/strong>\uff0c\u57fa\u7c7b<strong>CFormView<\/strong><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741484527673.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 615px; --smush-placeholder-aspect-ratio: 615\/465;\" \/><\/p>\n<p>\u4e0b\u9762\u5206\u522b\u4e3a 4 \u4e2a\u7f16\u8f91\u6846\u521b\u5efa\u53d8\u91cf<br \/>\n\u8eab\u4efd<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741484781338.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 584px; --smush-placeholder-aspect-ratio: 584\/455;\" \/><\/p>\n<p>\u53d8\u91cf\u540d<strong>positionEditControl<\/strong><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741485011399.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 737px; --smush-placeholder-aspect-ratio: 737\/540;\" \/><\/p>\n<p>\u7528\u6237\u540d\u7f16\u8f91\u6846\u53d8\u91cf<strong>usernameEditControl<\/strong><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741485093857.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 891px; --smush-placeholder-aspect-ratio: 891\/597;\" \/><\/p>\n<p>\u65b0\u5bc6\u7801\u7f16\u8f91\u6846\u53d8\u91cf<strong>newPasswordEditControl<\/strong><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741485173052.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 837px; --smush-placeholder-aspect-ratio: 837\/610;\" \/><\/p>\n<p>\u786e\u5b9a\u5bc6\u7801\u7f16\u8f91\u6846\u53d8\u91cf<strong>confirmPasswordEditControl<\/strong><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741485270620.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 757px; --smush-placeholder-aspect-ratio: 757\/594;\" \/><\/p>\n<h3><span class=\"ez-toc-section\" id=\"%E5%8A%9F%E8%83%BD%E5%AE%9E%E7%8E%B0-2\"><\/span>\u529f\u80fd\u5b9e\u73b0<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<h4><span class=\"ez-toc-section\" id=\"%E5%88%9D%E5%A7%8B%E5%8C%96%E7%95%8C%E9%9D%A2\"><\/span>\u521d\u59cb\u5316\u754c\u9762<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p><strong>\u7c7b\u89c6\u56fe<\/strong>\u4e2d <strong>UserDialog<\/strong> \u7c7b\u4e0a\u53f3\u952e<strong>\u5c5e\u6027<\/strong><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741485364667.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 452px; --smush-placeholder-aspect-ratio: 452\/552;\" \/><\/p>\n<p>\u91cd\u5199<strong>OnInitialUpdate<\/strong><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741485433832.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 371px; --smush-placeholder-aspect-ratio: 371\/932;\" \/><\/p>\n<pre><code class=\"language-cpp\">    this-&gt;positionEditControl.SetWindowTextW(L&quot;\u9500\u552e\u5458&quot;);<\/code><\/pre>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741488195513.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 896px; --smush-placeholder-aspect-ratio: 896\/396;\" \/><\/p>\n<h4><span class=\"ez-toc-section\" id=\"%E7%A1%AE%E5%AE%9A%E4%BF%AE%E6%94%B9%E5%AF%86%E7%A0%81\"><\/span>\u786e\u5b9a\u4fee\u6539\u5bc6\u7801<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>\u53cc\u51fb\u786e\u5b9a\u6309\u94ae\uff0c\u7f16\u8f91\u786e\u5b9a\u6309\u94ae\u7684\u5355\u673a\u4e8b\u4ef6\u56de\u8c03\uff0c\u6ce8\u610f\u8981\u5f15\u7528 <strong>StoreManager.hpp<\/strong> \u5934\u6587\u4ef6<\/p>\n<pre><code class=\"language-cpp\">\n    if (this-&gt;usernameEditControl.GetWindowTextLengthW() == 0)\n    {\n        MessageBox(L&quot;\u8f93\u5165\u7528\u6237\u540d\u4e0d\u80fd\u4e3a\u7a7a&quot;);\n        return;\n    }\n\n    if (this-&gt;newPasswordEditControl.GetWindowTextLengthW() == 0 || this-&gt;confirmPasswordEditControl.GetWindowTextLengthW() == 0)\n    {\n        MessageBox(L&quot;\u8f93\u5165\u5bc6\u7801\u4e0d\u80fd\u4e3a\u7a7a&quot;);\n        return;\n    }\n\n    CString newPassword, confirmPassword;\n    this-&gt;newPasswordEditControl.GetWindowTextW(newPassword);\n    this-&gt;confirmPasswordEditControl.GetWindowTextW(confirmPassword);\n\n    if (newPassword != confirmPassword)\n    {\n        MessageBox(L&quot;\u8f93\u5165\u5bc6\u7801\u548c\u786e\u5b9a\u5bc6\u7801\u4e0d\u540c&quot;);\n        return;\n    }\n\n    CString oldPassword, username, inputUsername;\n    StoreManager::readLogin(username, oldPassword);\n    this-&gt;usernameEditControl.GetWindowTextW(inputUsername);\n\n    if (inputUsername != username)\n    {\n        MessageBox(L&quot;\u7528\u6237\u540d\u9519\u8bef&quot;);\n        return;\n    }\n\n    if (newPassword == oldPassword)\n    {\n        MessageBox(L&quot;\u65b0\u5bc6\u7801\u548c\u539f\u5bc6\u7801\u76f8\u540c&quot;);\n        return;\n    }\n\n    if (StoreManager::writePassword(inputUsername, newPassword))\n    {\n        MessageBox(L&quot;\u4fee\u6539\u5bc6\u7801\u6210\u529f&quot;);\n    }\n    else\n    {\n        MessageBox(L&quot;\u4fee\u6539\u5bc6\u7801\u5931\u8d25&quot;);\n    }<\/code><\/pre>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741499251215.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 1397px; --smush-placeholder-aspect-ratio: 1397\/878;\" \/><\/p>\n<h4><span class=\"ez-toc-section\" id=\"%E5%8F%96%E6%B6%88%E4%BF%AE%E6%94%B9%E5%AF%86%E7%A0%81\"><\/span>\u53d6\u6d88\u4fee\u6539\u5bc6\u7801<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>\u53cc\u51fb\u53d6\u6d88\u6309\u94ae<\/p>\n<pre><code class=\"language-cpp\">    this-&gt;usernameEditControl.SetWindowTextW(L&quot;&quot;);\n    this-&gt;newPasswordEditControl.SetWindowTextW(L&quot;&quot;);\n    this-&gt;confirmPasswordEditControl.SetWindowTextW(L&quot;&quot;);<\/code><\/pre>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741488351469.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 1010px; --smush-placeholder-aspect-ratio: 1010\/530;\" \/><\/p>\n<h3><span class=\"ez-toc-section\" id=\"%E7%95%8C%E9%9D%A2%E6%8C%82%E8%BD%BD\"><\/span>\u754c\u9762\u6302\u8f7d<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<h4><span class=\"ez-toc-section\" id=\"%E8%87%AA%E5%AE%9A%E4%B9%89%E6%B6%88%E6%81%AF%E5%8F%91%E9%80%81\"><\/span>\u81ea\u5b9a\u4e49\u6d88\u606f\u53d1\u9001<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>\u5728<strong>\u7c7b\u89c6\u56fe<\/strong>\u4e2d\u53cc\u51fb<strong>CMainFrame<\/strong>\u7c7b\u8fdb\u884c\u7f16\u8f91\uff0c\u5199\u5165\u81ea\u5b9a\u4e49\u6d88\u606f<\/p>\n<pre><code class=\"language-cpp\">constexpr UINT NM_USER = WM_USER + 100;\nconstexpr UINT NM_SELL = WM_USER + 101;\nconstexpr UINT NM_INFO = WM_USER + 102;\nconstexpr UINT NM_ADD = WM_USER + 103;\nconstexpr UINT NM_DEL = WM_USER + 104;<\/code><\/pre>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741489334267.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 781px; --smush-placeholder-aspect-ratio: 781\/412;\" \/><\/p>\n<p>\u6dfb\u52a0\u81ea\u5b9a\u4e49\u6d88\u606f\u5904\u7406\u51fd\u6570\uff0c\u5934\u6587\u4ef6\u4e2d\u6dfb\u52a0\u58f0\u660e<\/p>\n<pre><code class=\"language-cpp\">protected:\n    afx_msg LRESULT onMyChange(WPARAM wParam, LPARAM lParam);<\/code><\/pre>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741504846241.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 1050px; --smush-placeholder-aspect-ratio: 1050\/665;\" \/><\/p>\n<p>\u6e90\u6587\u4ef6\u4e2d\u6dfb\u52a0\u5b9a\u4e49<\/p>\n<pre><code class=\"language-cpp\">afx_msg LRESULT CMainFrame::onMyChange(WPARAM wParam, LPARAM lParam)\n{\n\n}<\/code><\/pre>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741504911945.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 966px; --smush-placeholder-aspect-ratio: 966\/886;\" \/><\/p>\n<p>\u7136\u540e\u770b\u5230 <strong>BEGIN_MESSAGE_MAP<\/strong>\uff0c\u5728\u5b83\u548c <strong>END_MESSAGE_MAP()<\/strong> \u4e4b\u95f4\u6dfb\u52a0\u4ee3\u7801<\/p>\n<pre><code class=\"language-cpp\">    \/\/ \u54cd\u5e94\u81ea\u5b9a\u4e49\u6d88\u606f\n    ON_MESSAGE(NM_USER, onMyChange)\n    ON_MESSAGE(NM_SELL, onMyChange)\n    ON_MESSAGE(NM_INFO, onMyChange)\n    ON_MESSAGE(NM_ADD, onMyChange)\n    ON_MESSAGE(NM_DEL, onMyChange)<\/code><\/pre>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741504943778.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 803px; --smush-placeholder-aspect-ratio: 803\/650;\" \/><\/p>\n<p>\u7f16\u8f91 <strong>SelectView<\/strong> \u7c7b\u4e2d\u7684 <strong>OnTvnSelchanged<\/strong> \u65b9\u6cd5\uff0c\u6ce8\u610f\u9700\u8981\u5f15\u7528 <strong>MainFrm.h<\/strong> \u5934\u6587\u4ef6<\/p>\n<pre><code class=\"language-cpp\">    if (selectedText == L&quot;\u4e2a\u4eba\u4fe1\u606f&quot;)\n    {\n        \/\/ \u5c06\u6d88\u606f\u653e\u5165\u6d88\u606f\u961f\u5217\n        ::PostMessage(\n            AfxGetMainWnd()-&gt;GetSafeHwnd(), \/\/ \u6846\u67b6\u7a97\u53e3\u5bf9\u8c61\u6307\u9488\n            NM_USER, \/\/ \u53d1\u9001\u81ea\u5b9a\u4e49\u6d88\u606f\n            NM_USER, \/\/ \u6d88\u606f\u7684\u9644\u52a0\u53c2\u6570\n            0 \/\/ \u6d88\u606f\u7684\u9644\u52a0\u53c2\u6570\uff0c\u8fd9\u91cc\u4e0d\u4f7f\u7528\n        );\n    }\n    else if (selectedText == L&quot;\u9500\u552e\u7ba1\u7406&quot;)\n    {\n        ::PostMessage(AfxGetMainWnd()-&gt;GetSafeHwnd(), NM_SELL, NM_SELL, 0);\n    }\n    else if (selectedText == L&quot;\u5e93\u5b58\u4fe1\u606f&quot;)\n    {\n        ::PostMessage(AfxGetMainWnd()-&gt;GetSafeHwnd(), NM_INFO, NM_INFO, 0);\n    }\n    else if (selectedText == L&quot;\u5e93\u5b58\u6dfb\u52a0&quot;)\n    {\n        ::PostMessage(AfxGetMainWnd()-&gt;GetSafeHwnd(), NM_ADD, NM_ADD, 0);\n    }\n    else if (selectedText == L&quot;\u5e93\u5b58\u5220\u9664&quot;)\n    {\n        ::PostMessage(AfxGetMainWnd()-&gt;GetSafeHwnd(), NM_DEL, NM_DEL, 0);\n    }<\/code><\/pre>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741499432157.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 997px; --smush-placeholder-aspect-ratio: 997\/872;\" \/><\/p>\n<h4><span class=\"ez-toc-section\" id=\"%E8%87%AA%E5%AE%9A%E4%B9%89%E6%B6%88%E6%81%AF%E5%A4%84%E7%90%86\"><\/span>\u81ea\u5b9a\u4e49\u6d88\u606f\u5904\u7406<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>\u7f16\u8f91 <strong>CMainFrame<\/strong> \u7c7b\u4e2d\u7684 <strong>OnMyChange<\/strong> \u65b9\u6cd5\uff0c\u6ce8\u610f\u5f15\u7528 <strong>UserDialog.hpp<\/strong> \u5934\u6587\u4ef6<\/p>\n<pre><code class=\"language-cpp\">    CCreateContext context;\n    this-&gt;splitter.DeleteView(0, 1);\n    switch (wParam)\n    {\n        case NM_USER:\n        {\n            context.m_pNewViewClass = RUNTIME_CLASS(UserDialog);\n            this-&gt;splitter.CreateView(0, 1, RUNTIME_CLASS(UserDialog), CSize(600, 500), &amp;context);\n            ((UserDialog*)this-&gt;splitter.GetPane(0, 1))-&gt;OnInitialUpdate();\n            break;\n        }\n        case NM_SELL:\n        {\n\n            break;\n        }\n        case NM_INFO:\n        {\n\n            break;\n        }\n        case NM_ADD:\n        {\n\n            break;\n        }\n        case NM_DEL:\n        {\n\n            break;\n        }\n\n    }\n    this-&gt;splitter.RecalcLayout();\n    this-&gt;splitter.SetActivePane(0, 1);\n    context.m_pLastView = (CFormView*)this-&gt;splitter.GetPane(0, 1);\n    context.m_pCurrentFrame = this;\n\n    return 0;<\/code><\/pre>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741504762591.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 1197px; --smush-placeholder-aspect-ratio: 1197\/839;\" \/><\/p>\n<p>\u8c03\u8bd5\u8fd0\u884c\u6548\u679c<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741499594723.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 711px; --smush-placeholder-aspect-ratio: 711\/402;\" \/><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741499603241.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 385px; --smush-placeholder-aspect-ratio: 385\/441;\" \/><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741499620964.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 396px; --smush-placeholder-aspect-ratio: 396\/416;\" \/><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741499636253.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 423px; --smush-placeholder-aspect-ratio: 423\/416;\" \/><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741499650905.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 429px; --smush-placeholder-aspect-ratio: 429\/437;\" \/><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741499666699.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 445px; --smush-placeholder-aspect-ratio: 445\/422;\" \/><\/p>\n<h2><span class=\"ez-toc-section\" id=\"%E9%94%80%E5%94%AE%E7%AE%A1%E7%90%86%E9%A1%B5%E9%9D%A2\"><\/span>\u9500\u552e\u7ba1\u7406\u9875\u9762<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"%E7%95%8C%E9%9D%A2%E8%AE%BE%E8%AE%A1-3\"><\/span>\u754c\u9762\u8bbe\u8ba1<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u8d44\u6e90\u89c6\u56fe\u4e0b\u63d2\u5165\u65b0\u7684\u5bf9\u8bdd\u6846<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741500059668.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 389px; --smush-placeholder-aspect-ratio: 389\/443;\" \/><\/p>\n<p><strong>ID<\/strong>\u6539\u4e3a<strong>DIALOG_SELL<\/strong>\uff0c<strong>\u8fb9\u6846<\/strong>\u6539\u4e3a<strong>None<\/strong>\uff0c<strong>\u6837\u5f0f<\/strong>\u6539\u4e3a<strong>Child<\/strong><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741500230275.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 379px; --smush-placeholder-aspect-ratio: 379\/939;\" \/><\/p>\n<p>\u7ed8\u5236\u754c\u9762\uff0c\u4e0d\u5220\u9664\u539f\u5148\u7684\u786e\u5b9a\u548c\u53d6\u6d88\u6309\u94ae\uff0c<strong>\u786e\u5b9a<\/strong>\u7684\u63cf\u8ff0\u6587\u5b57\u6539\u6210<strong>\u8d2d\u4e70<\/strong>\uff0c\u5546\u54c1\u540d\u90a3\u91cc\u7684 Combo Box \u5c5e\u6027\u91cc\u7684<strong>\u7c7b\u578b<\/strong>\u6539\u4e3a<strong>\u4e0b\u62c9\u5217\u8868<\/strong>\uff0c\u8ba2\u5355\u4fe1\u606f\u90a3\u91cc\u7684\u5927\u7f16\u8f91\u6846\u5c5e\u6027\u91cc<strong>\u591a\u884c<\/strong>\u3001<strong>\u5782\u76f4\u6eda\u52a8<\/strong>\u4f9d\u6b21\u8bbe\u7f6e\u4e3a<strong>True<\/strong>\uff0c\u6570\u91cf\u7f16\u8f91\u6846\u5c5e\u6027\u91cc\u7684<strong>\u6570\u5b57<\/strong>\u6539\u4e3a<strong>True<\/strong><br \/>\n\uff08Group Box\u3001Static Text\u3001Edit Control\u3001Combo Box\uff09<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741515308313.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 649px; --smush-placeholder-aspect-ratio: 649\/508;\" \/><\/p>\n<p>\u5728\u5bf9\u8bdd\u6846\u7a7a\u767d\u5904\u53f3\u952e\u6dfb\u52a0\u7c7b<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741502984949.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 541px; --smush-placeholder-aspect-ratio: 541\/529;\" \/><\/p>\n<p>\u7c7b\u540d\u4e3a<strong>SellDialog<\/strong>\uff0c\u57fa\u7c7b\u4e3a<strong>CFormView<\/strong><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741503049904.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 618px; --smush-placeholder-aspect-ratio: 618\/472;\" \/><\/p>\n<p>\u4e3a\u5546\u54c1\u540d\u7ec4\u5408\u6846\u521b\u5efa\u53d8\u91cf<strong>productNameComboBoxControl<\/strong><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741503315244.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 498px; --smush-placeholder-aspect-ratio: 498\/415;\" \/><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741503370133.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 745px; --smush-placeholder-aspect-ratio: 745\/545;\" \/><\/p>\n<p>\u4e3a\u5355\u4ef7\u7f16\u8f91\u6846\u521b\u5efa\u53d8\u91cf<strong>priceEditValue<\/strong>\uff0c\u6ce8\u610f\u7c7b\u522b\u9009\u503c\uff0c\u53d8\u91cf\u7c7b\u578b\u586b double<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741503746657.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 738px; --smush-placeholder-aspect-ratio: 738\/531;\" \/><\/p>\n<p>\u4e3a\u6570\u91cf\u7f16\u8f91\u6846\u521b\u5efa\u53d8\u91cf<strong>numEditValue<\/strong>\uff0c\u7c7b\u522b\u9009\u503c\uff0c\u53d8\u91cf\u7c7b\u578b\u586b int<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741503815542.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 742px; --smush-placeholder-aspect-ratio: 742\/531;\" \/><\/p>\n<p>\u4e3a\u8ba2\u5355\u4fe1\u606f\u7f16\u8f91\u6846\u521b\u5efa\u53d8\u91cf<strong>sellEditControl<\/strong><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741503936864.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 740px; --smush-placeholder-aspect-ratio: 740\/533;\" \/><\/p>\n<h3><span class=\"ez-toc-section\" id=\"%E7%95%8C%E9%9D%A2%E6%8C%82%E8%BD%BD-2\"><\/span>\u754c\u9762\u6302\u8f7d<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u7f16\u8f91<strong>CMainFrame<\/strong>\u7c7b\u4e2d\u7684<strong>OnMyChange<\/strong>\u65b9\u6cd5\uff0c\u5728 <strong>case NM_SELL<\/strong> \u4e0b\u5199\u3002\u6ce8\u610f\u5f15\u7528 <strong>SellDialog.hpp<\/strong> \u5934\u6587\u4ef6<\/p>\n<pre><code class=\"language-cpp\">            context.m_pNewViewClass = RUNTIME_CLASS(SellDialog);\n            this-&gt;splitter.CreateView(0, 1, RUNTIME_CLASS(SellDialog), CSize(600, 500), &amp;context);\n            ((SellDialog*)this-&gt;splitter.GetPane(0, 1))-&gt;OnInitialUpdate();<\/code><\/pre>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741505034397.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 1158px; --smush-placeholder-aspect-ratio: 1158\/867;\" \/><\/p>\n<p>\u8c03\u8bd5\u8fd0\u884c<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741505295193.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 786px; --smush-placeholder-aspect-ratio: 786\/593;\" \/><\/p>\n<h3><span class=\"ez-toc-section\" id=\"%E5%8A%9F%E8%83%BD%E5%AE%9E%E7%8E%B0-3\"><\/span>\u529f\u80fd\u5b9e\u73b0<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<h4><span class=\"ez-toc-section\" id=\"%E5%88%9D%E5%A7%8B%E5%8C%96%E7%95%8C%E9%9D%A2-2\"><\/span>\u521d\u59cb\u5316\u754c\u9762<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p><strong>CellDialog<\/strong>\u7c7b\u4e0a\u53f3\u952e\u5c5e\u6027\uff0c\u91cd\u5199<strong>OnInitialUpdate<\/strong>\u65b9\u6cd5<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741505809227.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 385px; --smush-placeholder-aspect-ratio: 385\/749;\" \/><\/p>\n<p>\u8fd9\u91cc\u4ece\u6570\u636e\u5e93\u8bfb\u53d6\u5546\u54c1\u6570\u636e\uff0c\u628a\u5546\u54c1\u540d\u8bbe\u7f6e\u7ed9\u7ec4\u5408\u6846\uff0c\u6ce8\u610f\u5f15\u7528 <strong>StoreManager.hpp<\/strong> \u5934\u6587\u4ef6<\/p>\n<pre><code class=\"language-cpp\">    productsVector products;\n    StoreManager::readProducts(products);\n\n    for (productStruct product : products)\n    {\n        this-&gt;productNameComboBoxControl.AddString(product.name);\n    }\n    this-&gt;productNameComboBoxControl.SetCurSel(0);<\/code><\/pre>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741514326755.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 932px; --smush-placeholder-aspect-ratio: 932\/883;\" \/><\/p>\n<p>\u8c03\u8bd5\u8fd0\u884c<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741514389192.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 775px; --smush-placeholder-aspect-ratio: 775\/597;\" \/><\/p>\n<h4><span class=\"ez-toc-section\" id=\"%E7%BB%84%E5%90%88%E6%A1%86%E5%88%87%E6%8D%A2%E5%88%B7%E6%96%B0%E4%BF%A1%E6%81%AF\"><\/span>\u7ec4\u5408\u6846\u5207\u6362\u5237\u65b0\u4fe1\u606f<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>\u5728\u5546\u54c1\u540d\u7ec4\u5408\u6846\u4e0a\u53f3\u952e\u5c5e\u6027<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741514462361.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 629px; --smush-placeholder-aspect-ratio: 629\/531;\" \/><\/p>\n<p>\u521b\u5efa <strong>CBN_SELCHANGE<\/strong> \u4e8b\u4ef6\u7684\u56de\u8c03\u65b9\u6cd5<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741514524737.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 375px; --smush-placeholder-aspect-ratio: 375\/325;\" \/><\/p>\n<p>\u5199\u5165<\/p>\n<pre><code class=\"language-cpp\">    \/\/ \u83b7\u53d6\u5f53\u524d\u9009\u4e2d\u9879\u7684\u7d22\u5f15\n    int curIdx = this-&gt;productNameComboBoxControl.GetCurSel();\n\n    \/\/ \u83b7\u53d6\u5f53\u524d\u9009\u4e2d\u9879\u7684\u6587\u672c\n    CString curText;\n    this-&gt;productNameComboBoxControl.GetLBText(curIdx, curText);\n\n    productsVector products;\n    StoreManager::readProducts(products);\n\n    for (productStruct product : products)\n    {\n        if (curText == product.name)\n        {\n            this-&gt;priceEditValue = product.price;\n            this-&gt;numEditValue = 0;\n            UpdateData(FALSE);\n            break;\n        }\n    }<\/code><\/pre>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741521244588.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 951px; --smush-placeholder-aspect-ratio: 951\/1090;\" \/><\/p>\n<p>\u53e6\u5916\u5728\u524d\u9762\u91cd\u5199\u7684 <strong>OnInitialUpdate<\/strong> \u65b9\u6cd5\u672b\u5c3e\u8c03\u7528\u4e00\u4e0b\uff0c\u5b9e\u73b0\u521d\u59cb\u5316<\/p>\n<pre><code class=\"language-cpp\">    this-&gt;OnCbnSelchangeCombo1();<\/code><\/pre>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741515099909.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 933px; --smush-placeholder-aspect-ratio: 933\/694;\" \/><\/p>\n<p>\u8c03\u8bd5\u8fd0\u884c<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741521269252.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 777px; --smush-placeholder-aspect-ratio: 777\/592;\" \/><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741521282074.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 782px; --smush-placeholder-aspect-ratio: 782\/580;\" \/><\/p>\n<h4><span class=\"ez-toc-section\" id=\"%E8%B4%AD%E4%B9%B0%E5%AE%9E%E7%8E%B0\"><\/span>\u8d2d\u4e70\u5b9e\u73b0<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>\u53cc\u51fb\u8d2d\u4e70\u6309\u94ae\uff0c\u521b\u5efa\u70b9\u51fb\u4e8b\u4ef6\u56de\u8c03\uff0c\u5199\u5165<\/p>\n<pre><code class=\"language-cpp\">    if (this-&gt;numEditValue == 0)\n    {\n        MessageBox(L&quot;\u8d2d\u4e70\u6570\u91cf\u4e0d\u80fd\u4e3a 0&quot;);\n        return;\n    }\n\n    int curIdx = this-&gt;productNameComboBoxControl.GetCurSel();\n    CString curText;\n    this-&gt;productNameComboBoxControl.GetLBText(curIdx, curText);\n\n    productsVector products;\n    StoreManager::readProducts(products);\n    for (productsVector::iterator product = products.begin(); product != products.end(); ++product)\n    {\n        if (curText == product-&gt;name)\n        {\n            if (this-&gt;numEditValue &gt; product-&gt;stock)\n            {\n                CString msg;\n                msg.Format(L&quot;\u8d2d\u4e70\u6570\u91cf\u8d85\u51fa\u5e93\u5b58\uff0c\u5f53\u524d\u5e93\u5b58\u6570\u91cf\uff1a%d\uff0c\u8bf7\u51cf\u5c0f\u8d2d\u4e70\u6570\u91cf\u540e\u518d\u8bd5&quot;, product-&gt;stock);\n                MessageBox(msg.GetString());\n                return;\n            }\n            product-&gt;stock = product-&gt;stock - this-&gt;numEditValue;\n            productsVector modifyProduct = { *product };\n            StoreManager::modifyProducts(modifyProduct);\n            CString sellMsg;\n            sellMsg.Format(L&quot;\u5546\u54c1\uff1a%s\\r\\n\u5355\u4ef7\uff1a%f\\r\\n\u6570\u91cf\uff1a%d\\r\\n\u603b\u4ef7\uff1a%f\\r\\n\u5269\u4f59\u5e93\u5b58\uff1a%d&quot;, product-&gt;name.GetString(), product-&gt;price, this-&gt;numEditValue, product-&gt;price * this-&gt;numEditValue, product-&gt;stock);\n            this-&gt;sellEditControl.SetWindowTextW(sellMsg.GetString());\n            break;\n        }\n    }<\/code><\/pre>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741593670997.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 939px; --smush-placeholder-aspect-ratio: 939\/716;\" \/><\/p>\n<p>\u8c03\u8bd5\u8fd0\u884c\u6548\u679c<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741530112086.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 783px; --smush-placeholder-aspect-ratio: 783\/594;\" \/><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741530128677.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 506px; --smush-placeholder-aspect-ratio: 506\/368;\" \/><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741530139936.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 284px; --smush-placeholder-aspect-ratio: 284\/265;\" \/><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741530165234.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 532px; --smush-placeholder-aspect-ratio: 532\/474;\" \/><\/p>\n<h4><span class=\"ez-toc-section\" id=\"%E5%8F%96%E6%B6%88\"><\/span>\u53d6\u6d88<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>\u53cc\u51fb\u53d6\u6d88\u6309\u94ae\uff0c\u521b\u5efa\u4e8b\u4ef6\u56de\u8c03<\/p>\n<pre><code class=\"language-cpp\">    this-&gt;sellEditControl.SetWindowTextW(L&quot;&quot;);\n    this-&gt;numEditValue = 0;\n    UpdateData(FALSE);<\/code><\/pre>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741530442347.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 818px; --smush-placeholder-aspect-ratio: 818\/791;\" \/><\/p>\n<h2><span class=\"ez-toc-section\" id=\"%E5%BA%93%E5%AD%98%E4%BF%A1%E6%81%AF%E9%A1%B5%E9%9D%A2\"><\/span>\u5e93\u5b58\u4fe1\u606f\u9875\u9762<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"%E7%95%8C%E9%9D%A2%E8%AE%BE%E8%AE%A1-4\"><\/span>\u754c\u9762\u8bbe\u8ba1<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u6dfb\u52a0\u4e00\u4e2a\u5bf9\u8bdd\u6846<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741580192176.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 370px; --smush-placeholder-aspect-ratio: 370\/363;\" \/><\/p>\n<p>\u5c5e\u6027\u91cc\uff0cID \u8bbe\u7f6e\u4e3a<strong>DIALOG_INFO<\/strong>\uff0c\u8fb9\u6846\u9009<strong>None<\/strong>\uff0c\u6837\u5f0f\u9009<strong>Child<\/strong><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741580338606.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 401px; --smush-placeholder-aspect-ratio: 401\/115;\" \/><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741580327304.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 361px; --smush-placeholder-aspect-ratio: 361\/594;\" \/><\/p>\n<p>\u7ed8\u5236\u754c\u9762\uff0c\u5220\u9664\u786e\u5b9a\u548c\u53d6\u6d88\u6309\u94ae\uff0cList Control \u7684\u89c6\u56fe\u6539\u4e3a<strong>Report<\/strong><br \/>\n\uff08Static Text\u3001List Control\uff09<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741580515871.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 923px; --smush-placeholder-aspect-ratio: 923\/520;\" \/><\/p>\n<p>\u5bf9\u8bdd\u6846\u7a7a\u767d\u5904\u53f3\u952e\u6dfb\u52a0\u7c7b<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741580898656.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 673px; --smush-placeholder-aspect-ratio: 673\/505;\" \/><\/p>\n<p>\u7c7b\u540d<strong>InfoDialog<\/strong>\uff0c\u57fa\u7c7b<strong>CFormView<\/strong><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741580948483.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 600px; --smush-placeholder-aspect-ratio: 600\/458;\" \/><\/p>\n<p>\u5728\u5217\u8868\u63a7\u4ef6\u4e0a\u53f3\u952e\u6dfb\u52a0\u53d8\u91cf<strong>infoListControl<\/strong><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741581123873.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 731px; --smush-placeholder-aspect-ratio: 731\/533;\" \/><\/p>\n<h3><span class=\"ez-toc-section\" id=\"%E7%95%8C%E9%9D%A2%E6%8C%82%E8%BD%BD-3\"><\/span>\u754c\u9762\u6302\u8f7d<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u7f16\u8f91<strong>CMainFrame<\/strong>\u7c7b\u4e2d\u7684<strong>onMyChange<\/strong>\u65b9\u6cd5\uff0c\u5728<strong>case NM_INFO<\/strong>\u4e0b\u5199\u5165\uff0c\u6ce8\u610f\u5f15\u7528\u5934\u6587\u4ef6 <strong>InfoDialog.hpp<\/strong><\/p>\n<pre><code class=\"language-cpp\">            context.m_pNewViewClass = RUNTIME_CLASS(InfoDialog);\n            this-&gt;splitter.CreateView(0, 1, RUNTIME_CLASS(InfoDialog), CSize(600, 500), &amp;context);\n            ((InfoDialog*)this-&gt;splitter.GetPane(0, 1))-&gt;OnInitialUpdate();<\/code><\/pre>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741581479171.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 1197px; --smush-placeholder-aspect-ratio: 1197\/788;\" \/><\/p>\n<p>\u8c03\u8bd5\u8fd0\u884c<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741581414000.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 782px; --smush-placeholder-aspect-ratio: 782\/370;\" \/><\/p>\n<h3><span class=\"ez-toc-section\" id=\"%E5%8A%9F%E8%83%BD%E5%AE%9E%E7%8E%B0-4\"><\/span>\u529f\u80fd\u5b9e\u73b0<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u5728 <strong>InfoDialog<\/strong> \u7c7b\u4e0a\u53f3\u952e <strong>\u5c5e\u6027<\/strong><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741589378300.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 387px; --smush-placeholder-aspect-ratio: 387\/432;\" \/><\/p>\n<p>\u91cd\u5199 <strong>OnInitialUpdate<\/strong> \u65b9\u6cd5<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741589492929.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 369px; --smush-placeholder-aspect-ratio: 369\/514;\" \/><\/p>\n<p>\u6ce8\u610f\u5f15\u7528 <strong>StoreManager.hpp<\/strong> \u5934\u6587\u4ef6<\/p>\n<pre><code class=\"language-cpp\">    \/\/ \u663e\u793a\u8868\u5934\n    this-&gt;infoListControl.SetExtendedStyle(this-&gt;infoListControl.GetExtendedStyle() | LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);\n    CString field[] = { L&quot;\u5546\u54c1ID&quot;, L&quot;\u5546\u54c1\u540d\u79f0&quot;, L&quot;\u5546\u54c1\u4ef7\u683c&quot;, L&quot;\u5e93\u5b58\u6570\u91cf&quot; };\n    for (int i = 0; i &lt; sizeof(field) \/ sizeof(field[0]); ++i)\n    {\n        this-&gt;infoListControl.InsertColumn(i, field[i], LVCFMT_CENTER, 90);\n    }\n\n    \/\/ \u8bfb\u53d6\u5546\u54c1\u4fe1\u606f\n    productsVector products;\n    StoreManager::readProducts(products);\n\n    \/\/ \u663e\u793a\u6570\u636e\n    int idx = 0;\n    CString tmpStr;\n    for (productsVector::iterator product = products.begin(); product != products.end(); ++product)\n    {\n        tmpStr.Format(L&quot;%d&quot;, product-&gt;id);\n        this-&gt;infoListControl.InsertItem(idx, tmpStr);\n        this-&gt;infoListControl.SetItemText(idx, 1, product-&gt;name);\n        tmpStr.Format(L&quot;%f&quot;, product-&gt;price);\n        this-&gt;infoListControl.SetItemText(idx, 2, tmpStr);\n        tmpStr.Format(L&quot;%d&quot;, product-&gt;stock);\n        this-&gt;infoListControl.SetItemText(idx, 3, tmpStr);\n\n        ++idx;\n    }<\/code><\/pre>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741592052155.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 908px; --smush-placeholder-aspect-ratio: 908\/766;\" \/><\/p>\n<p>\u8c03\u8bd5\u8fd0\u884c<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741591975786.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 779px; --smush-placeholder-aspect-ratio: 779\/347;\" \/><\/p>\n<h2><span class=\"ez-toc-section\" id=\"%E5%BA%93%E5%AD%98%E6%B7%BB%E5%8A%A0%E9%A1%B5%E9%9D%A2\"><\/span>\u5e93\u5b58\u6dfb\u52a0\u9875\u9762<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"%E7%95%8C%E9%9D%A2%E8%AE%BE%E8%AE%A1-5\"><\/span>\u754c\u9762\u8bbe\u8ba1<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u6dfb\u52a0\u4e00\u4e2a\u5bf9\u8bdd\u6846<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741593931302.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 372px; --smush-placeholder-aspect-ratio: 372\/420;\" \/><\/p>\n<p>ID \u6539\u4e3a <strong>DIALOG_ADD<\/strong>\uff0c\u8fb9\u6846\u6539\u4e3a<strong>None<\/strong>\uff0c\u6837\u5f0f\u6539\u4e3a<strong>Child<\/strong><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741594053089.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 357px; --smush-placeholder-aspect-ratio: 357\/99;\" \/><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741594035356.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 338px; --smush-placeholder-aspect-ratio: 338\/568;\" \/><\/p>\n<p>\u7ed8\u5236\u754c\u9762\uff0c\u5220\u9664\u539f\u6765\u7684\u786e\u5b9a\u548c\u53d6\u6d88\u6309\u94ae\uff0c\u4e2a\u6570\u7f16\u8f91\u6846\u5c5e\u6027\u7684<strong>\u6570\u5b57<\/strong>\u8bbe\u7f6e\u4e3a<strong>True<\/strong>\uff0cCombo Box \u5c5e\u6027\u7c7b\u578b\u9009<strong>\u4e0b\u62c9\u5217\u8868<\/strong>\uff0c\u5e93\u5b58\u5355\u4ef7\u7f16\u8f91\u5e93\u5c5e\u6027<strong>\u53ea\u8bfb<\/strong>\u8bbe\u7f6e\u4e3a<strong>True<\/strong><br \/>\n\uff08Static Text\u3001Group Box\u3001Edit Control\u3001Button\u3001Combo Box\uff09<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741608860455.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 475px; --smush-placeholder-aspect-ratio: 475\/359;\" \/><\/p>\n<p>\u5728\u5bf9\u8bdd\u6846\u7a7a\u767d\u5904\u53f3\u952e\u6dfb\u52a0\u7c7b<strong>AddDialog<\/strong>\uff0c\u57fa\u7c7b<strong>CFormView<\/strong><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741594909372.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 614px; --smush-placeholder-aspect-ratio: 614\/458;\" \/><\/p>\n<p>\u4e3a\u7ec4\u5408\u6846\u548c\u7f16\u8f91\u6846\u6dfb\u52a0\u53d8\u91cf<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741608955294.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 498px; --smush-placeholder-aspect-ratio: 498\/468;\" \/><\/p>\n<p>\u5e93\u5b58\u5546\u54c1\u7f16\u8f91\u6846\uff0c\u53d8\u91cf\u540d<strong>stockProductComboBoxControl<\/strong>\uff0c\u8bbf\u95ee<strong>private<\/strong><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741609156774.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 740px; --smush-placeholder-aspect-ratio: 740\/538;\" \/><\/p>\n<p>\u5e93\u5b58\u4ef7\u683c\u7f16\u8f91\u6846\uff0c\u53d8\u91cf\u540d<strong>stockPriceEditValue<\/strong>\uff0c\u7c7b\u522b<strong>\u503c<\/strong>\uff0c\u8bbf\u95ee<strong>private<\/strong>\uff0c\u53d8\u91cf\u7c7b\u578b<strong>double<\/strong><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741595606660.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 692px; --smush-placeholder-aspect-ratio: 692\/486;\" \/><\/p>\n<p>\u5e93\u5b58\u4e2a\u6570\u7f16\u8f91\u6846\uff0c\u53d8\u91cf\u540d<strong>stockNumEditValue<\/strong>\uff0c\u7c7b\u522b<strong>\u503c<\/strong>\uff0c\u8bbf\u95ee<strong>private<\/strong>\uff0c\u53d8\u91cf\u7c7b\u578b<strong>int<\/strong><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741608174923.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 730px; --smush-placeholder-aspect-ratio: 730\/526;\" \/><\/p>\n<p>\u65b0\u5546\u54c1\u7f16\u8f91\u6846\uff0c\u53d8\u91cf\u540d<strong>newProductEditValue<\/strong>\uff0c\u7c7b\u522b<strong>\u503c<\/strong>\uff0c\u8bbf\u95ee<strong>private<\/strong><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741608260736.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 738px; --smush-placeholder-aspect-ratio: 738\/536;\" \/><\/p>\n<p>\u65b0\u5546\u54c1\u5355\u4ef7\u7f16\u8f91\u6846\uff0c\u53d8\u91cf\u540d<strong>newPriceEditValue<\/strong>\uff0c\u7c7b\u522b<strong>\u503c<\/strong>\uff0c\u8bbf\u95ee<strong>private<\/strong>\uff0c\u53d8\u91cf\u7c7b\u578b<strong>double<\/strong><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741608332699.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 734px; --smush-placeholder-aspect-ratio: 734\/530;\" \/><\/p>\n<p>\u65b0\u5546\u54c1\u5e93\u5b58\u7f16\u8f91\u6846\uff0c\u53d8\u91cf\u540d<strong>newNumEditValue<\/strong>\uff0c\u7c7b\u522b<strong>\u503c<\/strong>\uff0c\u8bbf\u95ee<strong>private<\/strong>\uff0c\u53d8\u91cf\u7c7b\u578b<strong>int<\/strong><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741608512041.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 734px; --smush-placeholder-aspect-ratio: 734\/528;\" \/><\/p>\n<h3><span class=\"ez-toc-section\" id=\"%E7%95%8C%E9%9D%A2%E6%8C%82%E8%BD%BD-4\"><\/span>\u754c\u9762\u6302\u8f7d<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u7f16\u8f91 <strong>CMainFrame<\/strong> \u7c7b\u4e2d <strong>onMyChange<\/strong> \u65b9\u6cd5\uff0c\u5728 <strong>case NM_ADD<\/strong> \u4e2d\u6dfb\u52a0\uff0c\u6ce8\u610f\u5f15\u7528\u5934\u6587\u4ef6 <strong>AddDialog.hpp<\/strong><\/p>\n<pre><code class=\"language-cpp\">            context.m_pNewViewClass = RUNTIME_CLASS(AddDialog);\n            this-&gt;splitter.CreateView(0, 1, RUNTIME_CLASS(AddDialog), CSize(600, 500), &amp;context);\n            ((AddDialog*)this-&gt;splitter.GetPane(0, 1))-&gt;OnInitialUpdate();<\/code><\/pre>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741609242694.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 1209px; --smush-placeholder-aspect-ratio: 1209\/855;\" \/><\/p>\n<p>\u8c03\u8bd5\u8fd0\u884c<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741609222790.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 683px; --smush-placeholder-aspect-ratio: 683\/364;\" \/><\/p>\n<h3><span class=\"ez-toc-section\" id=\"%E5%8A%9F%E8%83%BD%E5%AE%9E%E7%8E%B0-5\"><\/span>\u529f\u80fd\u5b9e\u73b0<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<h4><span class=\"ez-toc-section\" id=\"%E5%88%9D%E5%A7%8B%E5%8C%96%E5%BA%93%E5%AD%98%E7%BB%84%E5%90%88%E6%A1%86\"><\/span>\u521d\u59cb\u5316\u5e93\u5b58\u7ec4\u5408\u6846<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>\u91cd\u5199 <strong>OnInitialUpdate<\/strong> \u65b9\u6cd5<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741609304359.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 403px; --smush-placeholder-aspect-ratio: 403\/650;\" \/><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741609356551.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 345px; --smush-placeholder-aspect-ratio: 345\/623;\" \/><\/p>\n<p>\u6ce8\u610f\u5f15\u7528 <strong>StoreManager.hpp<\/strong> \u5934\u6587\u4ef6<\/p>\n<pre><code class=\"language-cpp\">    productsVector products;\n    StoreManager::readProducts(products);\n    for (productsVector::iterator product = products.begin(); product != products.end(); ++product)\n    {\n        this-&gt;stockProductComboBoxControl.AddString(product-&gt;name);\n    }\n    this-&gt;stockProductComboBoxControl.SetCurSel(0);<\/code><\/pre>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741610281237.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 1180px; --smush-placeholder-aspect-ratio: 1180\/660;\" \/><\/p>\n<p>\u8c03\u8bd5\u8fd0\u884c<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741610333941.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 782px; --smush-placeholder-aspect-ratio: 782\/406;\" \/><\/p>\n<h4><span class=\"ez-toc-section\" id=\"%E5%BA%93%E5%AD%98%E7%BB%84%E5%90%88%E6%A1%86%E5%88%87%E6%8D%A2%E4%BA%8B%E4%BB%B6%E5%9B%9E%E8%B0%83\"><\/span>\u5e93\u5b58\u7ec4\u5408\u6846\u5207\u6362\u4e8b\u4ef6\u56de\u8c03<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741610423037.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 868px; --smush-placeholder-aspect-ratio: 868\/530;\" \/><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741610464433.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 360px; --smush-placeholder-aspect-ratio: 360\/338;\" \/><\/p>\n<pre><code class=\"language-cpp\">    int curIdx = this-&gt;stockProductComboBoxControl.GetCurSel();\n    CString curText;\n    this-&gt;stockProductComboBoxControl.GetLBText(curIdx, curText);\n\n    productsVector products;\n    StoreManager::readProducts(products);\n    for (productsVector::iterator product = products.begin(); product != products.end(); ++product)\n    {\n        if (curText == product-&gt;name)\n        {\n            this-&gt;stockPriceEditValue = product-&gt;price;\n            this-&gt;stockNumEditValue = 0;\n            UpdateData(FALSE);\n            break;\n        }\n    }<\/code><\/pre>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741610852678.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 1187px; --smush-placeholder-aspect-ratio: 1187\/548;\" \/><\/p>\n<p>\u5728 <strong>OnInitialUpdate<\/strong> \u91cc\u8c03\u7528\u8fd9\u4e2a\u65b9\u6cd5\uff0c\u4fdd\u8bc1\u521d\u59cb\u5316\u7684\u65f6\u5019\u6b63\u786e\u8bbe\u7f6e<\/p>\n<pre><code class=\"language-cpp\">    this-&gt;OnCbnSelchangeCombo2();<\/code><\/pre>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741610918750.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 1147px; --smush-placeholder-aspect-ratio: 1147\/439;\" \/><\/p>\n<p>\u8c03\u8bd5\u8fd0\u884c<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741610814068.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 778px; --smush-placeholder-aspect-ratio: 778\/406;\" \/><\/p>\n<h4><span class=\"ez-toc-section\" id=\"%E6%B7%BB%E5%8A%A0%E5%BA%93%E5%AD%98\"><\/span>\u6dfb\u52a0\u5e93\u5b58<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>\u53cc\u51fb<strong>\u6dfb\u52a0\u5e93\u5b58<\/strong>\u6309\u94ae<\/p>\n<pre><code class=\"language-cpp\">    UpdateData(TRUE);\n\n    if (this-&gt;stockNumEditValue &lt;= 0 || this-&gt;stockPriceEditValue &lt;= 0)\n    {\n        MessageBox(L&quot;\u6570\u91cf\u5fc5\u987b\u5927\u4e8e 0\uff0c\u6216\u4ef7\u683c\u4e0d\u80fd\u4f4e\u4e8e 0&quot;);\n        return;\n    }\n\n    int curIdx = this-&gt;stockProductComboBoxControl.GetCurSel();\n    CString curText;\n    this-&gt;stockProductComboBoxControl.GetLBText(curIdx, curText);\n\n    productsVector products;\n    StoreManager::readProducts(products);\n    for (productsVector::iterator product = products.begin(); product != products.end(); ++product)\n    {\n        if (curText == product-&gt;name)\n        {\n            product-&gt;stock += this-&gt;stockNumEditValue;\n            CString msg;\n            productsVector tmpProduct = { *product };\n            StoreManager::modifyProducts(tmpProduct);\n            msg.Format(L&quot;\u589e\u52a0\u5e93\u5b58\uff1a%d\uff0c\u5e93\u5b58\u603b\u91cf\uff1a%d&quot;, this-&gt;stockNumEditValue, product-&gt;stock);\n            MessageBox(msg.GetString());\n            break;\n        }\n    }\n\n    this-&gt;stockNumEditValue = 0;\n    UpdateData(FALSE);<\/code><\/pre>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741612238512.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 1169px; --smush-placeholder-aspect-ratio: 1169\/792;\" \/><\/p>\n<p>\u8c03\u8bd5\u8fd0\u884c<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741612177856.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 486px; --smush-placeholder-aspect-ratio: 486\/446;\" \/><\/p>\n<h4><span class=\"ez-toc-section\" id=\"%E5%8F%96%E6%B6%88%E5%BA%93%E5%AD%98%E8%AE%BE%E7%BD%AE\"><\/span>\u53d6\u6d88\u5e93\u5b58\u8bbe\u7f6e<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>\u53cc\u51fb<strong>\u53d6\u6d88\u5e93\u5b58\u8bbe\u7f6e<\/strong>\u6309\u94ae<\/p>\n<pre><code class=\"language-cpp\">    this-&gt;stockNumEditValue = 0;\n    UpdateData(FALSE);<\/code><\/pre>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741613984100.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 786px; --smush-placeholder-aspect-ratio: 786\/605;\" \/><\/p>\n<h4><span class=\"ez-toc-section\" id=\"%E6%B7%BB%E5%8A%A0%E6%96%B0%E5%95%86%E5%93%81\"><\/span>\u6dfb\u52a0\u65b0\u5546\u54c1<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>\u53cc\u51fb<strong>\u6dfb\u52a0\u65b0\u5546\u54c1<\/strong>\u6309\u94ae<\/p>\n<pre><code class=\"language-cpp\">    UpdateData(TRUE);\n\n    if (this-&gt;newNumEditValue &lt;= 0 || this-&gt;newPriceEditValue &lt;= 0 || this-&gt;newProductEditValue.IsEmpty())\n    {\n        MessageBox(L&quot;\u8f93\u5165\u4fe1\u606f\u6709\u8bef&quot;);\n        return;\n    }\n\n    productStruct product;\n    product.name = this-&gt;newProductEditValue;\n    product.price = this-&gt;newPriceEditValue;\n    product.stock = this-&gt;newNumEditValue;\n    productsVector tmpProduct = { product };\n    StoreManager::writeProducts(tmpProduct);\n\n    this-&gt;newProductEditValue.Empty();\n    this-&gt;newPriceEditValue = 0;\n    this-&gt;newNumEditValue = 0;\n    UpdateData(FALSE);\n\n    this-&gt;OnInitialUpdate();\n\n    CString msg;\n    msg.Format(L&quot;\u6dfb\u52a0\u5546\u54c1\uff1a%s\uff0c\u5355\u4ef7\uff1a%f\uff0c\u6570\u91cf\uff1a%d&quot;, product.name.GetString(), product.price, product.stock);\n    MessageBox(msg.GetString());<\/code><\/pre>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741614661973.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 1248px; --smush-placeholder-aspect-ratio: 1248\/706;\" \/><\/p>\n<p>\u8c03\u8bd5\u8fd0\u884c<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741614594528.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 468px; --smush-placeholder-aspect-ratio: 468\/416;\" \/><\/p>\n<h4><span class=\"ez-toc-section\" id=\"%E5%8F%96%E6%B6%88%E5%95%86%E5%93%81%E8%AE%BE%E7%BD%AE\"><\/span>\u53d6\u6d88\u5546\u54c1\u8bbe\u7f6e<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>\u53cc\u51fb<strong>\u53d6\u6d88\u5546\u54c1\u8bbe\u7f6e<\/strong>\u6309\u94ae<\/p>\n<pre><code class=\"language-cpp\">    this-&gt;newProductEditValue.Empty();\n    this-&gt;newPriceEditValue = 0;\n    this-&gt;newNumEditValue = 0;\n    UpdateData(FALSE);<\/code><\/pre>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741614904401.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 764px; --smush-placeholder-aspect-ratio: 764\/425;\" \/><\/p>\n<h2><span class=\"ez-toc-section\" id=\"%E5%BA%93%E5%AD%98%E5%88%A0%E9%99%A4%E9%A1%B5%E9%9D%A2\"><\/span>\u5e93\u5b58\u5220\u9664\u9875\u9762<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"%E7%95%8C%E9%9D%A2%E8%AE%BE%E8%AE%A1-6\"><\/span>\u754c\u9762\u8bbe\u8ba1<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u6dfb\u52a0\u4e00\u4e2a\u5bf9\u8bdd\u6b3e<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741617038192.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 410px; --smush-placeholder-aspect-ratio: 410\/451;\" \/><\/p>\n<p>ID \u6539\u4e3a<strong>DIALOG_DEL<\/strong>\uff0c\u8fb9\u6846\u6539\u4e3a<strong>None<\/strong>\uff0c\u6837\u5f0f\u6539\u4e3a<strong>Child<\/strong><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741617141984.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 365px; --smush-placeholder-aspect-ratio: 365\/922;\" \/><\/p>\n<p>\u7ed8\u5236\u754c\u9762\uff0c\u4fdd\u7559\u786e\u5b9a\u548c\u53d6\u6d88\u6309\u94ae\uff0cCombo Box \u7c7b\u578b\u6539\u4e3a<strong>\u4e0b\u62c9\u5217\u8868<\/strong>\uff0c\u6570\u91cf\u7f16\u8f91\u6846\u5c5e\u6027\u6570\u5b57\u8bbe\u7f6e\u4e3a<strong>True<\/strong>\uff0c\u8bbe\u7f6e\u5355\u4ef7\u7f16\u8f91\u6846\u53ea\u8bfb<br \/>\n\uff08Group Box\u3001Static Text\u3001Combo Box\u3001Edit Control\uff09<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741617318707.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 507px; --smush-placeholder-aspect-ratio: 507\/331;\" \/><\/p>\n<p>\u4e3a\u5bf9\u8bdd\u6846\u6dfb\u52a0\u7c7b<strong>DelDialog<\/strong>\uff0c\u57fa\u7c7b<strong>CFormView<\/strong><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741617399100.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 768px; --smush-placeholder-aspect-ratio: 768\/501;\" \/><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741617461630.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 609px; --smush-placeholder-aspect-ratio: 609\/457;\" \/><\/p>\n<p>\u4e3a\u7ec4\u5408\u6846\u548c\u7f16\u8f91\u6846\u6dfb\u52a0\u53d8\u91cf<br \/>\n\u5546\u54c1\u540d <strong>productComboBoxControl<\/strong><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741617539819.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 593px; --smush-placeholder-aspect-ratio: 593\/411;\" \/><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741617581299.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 734px; --smush-placeholder-aspect-ratio: 734\/534;\" \/><\/p>\n<p>\u5355\u4ef7 <strong>priceEditValue<\/strong><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741617651758.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 737px; --smush-placeholder-aspect-ratio: 737\/533;\" \/><\/p>\n<p>\u6570\u91cf <strong>numEditValue<\/strong><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741617690207.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 741px; --smush-placeholder-aspect-ratio: 741\/530;\" \/><\/p>\n<h3><span class=\"ez-toc-section\" id=\"%E7%95%8C%E9%9D%A2%E6%8C%82%E8%BD%BD-5\"><\/span>\u754c\u9762\u6302\u8f7d<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u7f16\u8f91 <strong>CMainFrame<\/strong> \u7c7b\u4e2d <strong>onMyChange<\/strong> \u65b9\u6cd5\uff0c\u5728 <strong>case NM_DEL<\/strong> \u4e0b\u5199\u5165\uff0c\u6ce8\u610f\u5f15\u7528\u5934\u6587\u4ef6 <strong>DelDialog.hpp<\/strong><\/p>\n<pre><code class=\"language-cpp\">            context.m_pNewViewClass = RUNTIME_CLASS(DelDialog);\n            this-&gt;splitter.CreateView(0, 1, RUNTIME_CLASS(DelDialog), CSize(600, 500), &amp;context);\n            ((DelDialog*)this-&gt;splitter.GetPane(0, 1))-&gt;OnInitialUpdate();<\/code><\/pre>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741617896433.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 1165px; --smush-placeholder-aspect-ratio: 1165\/883;\" \/><\/p>\n<p>\u8c03\u8bd5\u8fd0\u884c<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741617926860.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 780px; --smush-placeholder-aspect-ratio: 780\/368;\" \/><\/p>\n<h3><span class=\"ez-toc-section\" id=\"%E5%8A%9F%E8%83%BD%E5%AE%9E%E7%8E%B0-6\"><\/span>\u529f\u80fd\u5b9e\u73b0<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<h4><span class=\"ez-toc-section\" id=\"%E5%88%9D%E5%A7%8B%E5%8C%96%E7%95%8C%E9%9D%A2-3\"><\/span>\u521d\u59cb\u5316\u754c\u9762<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>\u91cd\u5199 <strong>OnInitialUpdate<\/strong> \u65b9\u6cd5<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741617986478.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 406px; --smush-placeholder-aspect-ratio: 406\/412;\" \/><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741618008169.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 355px; --smush-placeholder-aspect-ratio: 355\/605;\" \/><\/p>\n<p>\u6ce8\u610f\u5f15\u7528 <strong>StoreManager.hpp<\/strong> \u5934\u6587\u4ef6<\/p>\n<pre><code class=\"language-cpp\">    productsVector products;\n    StoreManager::readProducts(products);\n\n    for (productsVector::iterator product = products.begin(); product != products.end(); ++product)\n    {\n        this-&gt;productComboBoxControl.AddString(product-&gt;name);\n    }\n    this-&gt;productComboBoxControl.SetCurSel(0);<\/code><\/pre>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741618267885.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 1186px; --smush-placeholder-aspect-ratio: 1186\/597;\" \/><\/p>\n<p>\u8c03\u8bd5\u8fd0\u884c<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741618245895.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 683px; --smush-placeholder-aspect-ratio: 683\/361;\" \/><\/p>\n<h4><span class=\"ez-toc-section\" id=\"%E7%BB%84%E5%90%88%E6%A1%86%E5%88%87%E6%8D%A2\"><\/span>\u7ec4\u5408\u6846\u5207\u6362<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741618311037.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 607px; --smush-placeholder-aspect-ratio: 607\/456;\" \/><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741618345203.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 362px; --smush-placeholder-aspect-ratio: 362\/321;\" \/><\/p>\n<pre><code class=\"language-cpp\">    int curIdx = this-&gt;productComboBoxControl.GetCurSel();\n    CString curText;\n    this-&gt;productComboBoxControl.GetLBText(curIdx, curText);\n\n    productsVector products;\n    StoreManager::readProducts(products);\n    for (productsVector::iterator product = products.begin(); product != products.end(); ++product)\n    {\n        if (curText == product-&gt;name)\n        {\n            this-&gt;priceEditValue = product-&gt;price;\n            this-&gt;numEditValue = 0;\n            UpdateData(FALSE);\n            break;\n        }\n    }<\/code><\/pre>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741618627857.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 1173px; --smush-placeholder-aspect-ratio: 1173\/600;\" \/><\/p>\n<pre><code class=\"language-cpp\">    this-&gt;OnCbnSelchangeCombo1();<\/code><\/pre>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741618653751.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 1140px; --smush-placeholder-aspect-ratio: 1140\/564;\" \/><\/p>\n<p>\u8c03\u8bd5\u8fd0\u884c<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741618598946.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 714px; --smush-placeholder-aspect-ratio: 714\/356;\" \/><\/p>\n<h4><span class=\"ez-toc-section\" id=\"%E7%A1%AE%E5%AE%9A%E6%8C%89%E9%92%AE\"><\/span>\u786e\u5b9a\u6309\u94ae<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>\u53cc\u51fb<strong>\u786e\u5b9a<\/strong>\u6309\u94ae<\/p>\n<pre><code class=\"language-cpp\">    UpdateData(TRUE);\n\n    if (this-&gt;numEditValue &lt;= 0)\n    {\n        MessageBox(L&quot;\u6570\u91cf\u5fc5\u987b\u5927\u4e8e 0&quot;);\n        return;\n    }\n\n    int curIdx = this-&gt;productComboBoxControl.GetCurSel();\n    CString curText;\n    this-&gt;productComboBoxControl.GetLBText(curIdx, curText);\n\n    productsVector products;\n    StoreManager::readProducts(products);\n    for (productsVector::iterator product = products.begin(); product != products.end(); ++product)\n    {\n        if (curText == product-&gt;name)\n        {\n            product-&gt;stock -= this-&gt;numEditValue;\n            productsVector tmpProduct = { *product };\n            StoreManager::modifyProducts(tmpProduct);\n            CString msg;\n            msg.Format(L&quot;\u5220\u9664\u5546\u54c1\uff1a%s, \u5355\u4ef7\uff1a%f\uff0c\u6570\u91cf\uff1a%d&quot;, product-&gt;name.GetString(), product-&gt;price, this-&gt;numEditValue);\n            MessageBox(msg.GetString());\n            break;\n        }\n    }\n\n    this-&gt;numEditValue = 0;\n    UpdateData(FALSE);<\/code><\/pre>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741619305360.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 1333px; --smush-placeholder-aspect-ratio: 1333\/704;\" \/><\/p>\n<p>\u8c03\u8bd5\u8fd0\u884c<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741619279538.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 700px; --smush-placeholder-aspect-ratio: 700\/516;\" \/><\/p>\n<h4><span class=\"ez-toc-section\" id=\"%E5%8F%96%E6%B6%88%E6%8C%89%E9%92%AE\"><\/span>\u53d6\u6d88\u6309\u94ae<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>\u53cc\u51fb<strong>\u53d6\u6d88<\/strong>\u6309\u94ae<\/p>\n<pre><code class=\"language-cpp\">    this-&gt;numEditValue = 0;\n    UpdateData(FALSE);<\/code><\/pre>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741619465460.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 774px; --smush-placeholder-aspect-ratio: 774\/594;\" \/><\/p>\n<h2><span class=\"ez-toc-section\" id=\"%E8%8F%9C%E5%8D%95%E6%A0%8F\"><\/span>\u83dc\u5355\u680f<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u8d44\u6e90\u89c6\u56fe\uff0cMenu<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741619599396.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 600px; --smush-placeholder-aspect-ratio: 600\/469;\" \/><\/p>\n<p>\u5220\u9664\u5e2e\u52a9\u4ee5\u5916\u7684\u6240\u6709\u83dc\u5355\u680f<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741619635265.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 262px; --smush-placeholder-aspect-ratio: 262\/157;\" \/><\/p>\n<p>\u624b\u52a8\u6dfb\u52a0\u83dc\u5355<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741619725910.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 281px; --smush-placeholder-aspect-ratio: 281\/211;\" \/><\/p>\n<p>\u6dfb\u52a0\u4e8b\u4ef6\u5904\u7406\u7a0b\u5e8f<br \/>\n\u4e2a\u4eba\u4fe1\u606f<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741619761480.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 370px; --smush-placeholder-aspect-ratio: 370\/395;\" \/><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741619829128.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 529px; --smush-placeholder-aspect-ratio: 529\/401;\" \/><\/p>\n<pre><code class=\"language-cpp\">    ::PostMessage(AfxGetMainWnd()-&gt;GetSafeHwnd(), NM_USER, NM_USER, 0);<\/code><\/pre>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741619959821.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 620px; --smush-placeholder-aspect-ratio: 620\/167;\" \/><\/p>\n<p>\u9500\u552e\u7ba1\u7406<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741620011450.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 525px; --smush-placeholder-aspect-ratio: 525\/389;\" \/><\/p>\n<pre><code class=\"language-cpp\">    ::PostMessage(AfxGetMainWnd()-&gt;GetSafeHwnd(), NM_SELL, NM_SELL, 0);<\/code><\/pre>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741620048941.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 651px; --smush-placeholder-aspect-ratio: 651\/418;\" \/><\/p>\n<p>\u5e93\u5b58\u4fe1\u606f<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741620077681.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 531px; --smush-placeholder-aspect-ratio: 531\/388;\" \/><\/p>\n<pre><code class=\"language-cpp\">    ::PostMessage(AfxGetMainWnd()-&gt;GetSafeHwnd(), NM_INFO, NM_INFO, 0);<\/code><\/pre>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741620112924.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 596px; --smush-placeholder-aspect-ratio: 596\/125;\" \/><\/p>\n<p>\u5e93\u5b58\u6dfb\u52a0<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741620140075.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 515px; --smush-placeholder-aspect-ratio: 515\/387;\" \/><\/p>\n<pre><code class=\"language-cpp\">    ::PostMessage(AfxGetMainWnd()-&gt;GetSafeHwnd(), NM_ADD, NM_ADD, 0);<\/code><\/pre>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741620173035.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 651px; --smush-placeholder-aspect-ratio: 651\/146;\" \/><\/p>\n<p>\u5e93\u5b58\u5220\u9664<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741620203003.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 524px; --smush-placeholder-aspect-ratio: 524\/386;\" \/><\/p>\n<pre><code class=\"language-cpp\">    ::PostMessage(AfxGetMainWnd()-&gt;GetSafeHwnd(), NM_DEL, NM_DEL, 0);<\/code><\/pre>\n<p><img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741620231353.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 668px; --smush-placeholder-aspect-ratio: 668\/152;\" \/><\/p>\n<p>\u8fd9\u6837\u5c31\u53ef\u4ee5\u901a\u8fc7\u83dc\u5355\u8fdb\u884c\u5207\u6362\u4e86<br \/>\n<img decoding=\"async\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2025\/03\/image-1741620273738.png\" alt=\"file\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 173px; --smush-placeholder-aspect-ratio: 173\/176;\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u9884\u89c8 \u6d4b\u8bd5\u73af\u5883 Windows 11 \u4e13\u4e1a\u7248 Visual Studio 2022\uff08ISO C++14\uff09 \u8be6\u7ec6 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"zakra_page_container_layout":"customizer","zakra_page_sidebar_layout":"customizer","zakra_remove_content_margin":false,"zakra_sidebar":"customizer","zakra_transparent_header":"customizer","zakra_logo":0,"zakra_main_header_style":"default","zakra_menu_item_color":"","zakra_menu_item_hover_color":"","zakra_menu_item_active_color":"","zakra_menu_active_style":"","zakra_page_header":true,"_lmt_disableupdate":"no","_lmt_disable":"no","footnotes":""},"categories":[1,589,640,611],"tags":[1014,671,1013,670,1022,1023,1021,1027,1026,1015,1019,1016,1025,1024,1017,1018,1020,1012],"class_list":["post-19158","post","type-post","status-publish","format-standard","hentry","category-all","category-c-c","category-mfc","category-windows","tag-c","tag-mfc","tag-sqlite3","tag-visual-studio-2022","tag-1022","tag-1023","tag-1021","tag-1027","tag-1026","tag-1015","tag-1019","tag-1016","tag-1025","tag-1024","tag-1017","tag-1018","tag-1020","tag-1012"],"modified_by":"IYATT-yx","_links":{"self":[{"href":"https:\/\/blog.iyatt.com\/index.php?rest_route=\/wp\/v2\/posts\/19158","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.iyatt.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.iyatt.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.iyatt.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.iyatt.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=19158"}],"version-history":[{"count":52,"href":"https:\/\/blog.iyatt.com\/index.php?rest_route=\/wp\/v2\/posts\/19158\/revisions"}],"predecessor-version":[{"id":19563,"href":"https:\/\/blog.iyatt.com\/index.php?rest_route=\/wp\/v2\/posts\/19158\/revisions\/19563"}],"wp:attachment":[{"href":"https:\/\/blog.iyatt.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=19158"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.iyatt.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=19158"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.iyatt.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=19158"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}