{"id":362302,"date":"2024-05-21T01:32:18","date_gmt":"2024-05-21T01:32:18","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=362302"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=362302","title":{"rendered":"<span>\u041a\u0430\u043a \u0432\u043e\u0439\u0442\u0438 \u0432 \u0430\u0439\u0442\u0438 \u0437\u0430 \u0447\u0430\u0441 \u0441 \u043d\u0443\u043b\u044f, \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 \u0441++ Win32 (\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f) \u00ab\u0434\u043b\u044f \u0441\u0430\u043c\u044b\u0445 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0445\u00bb<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u0425\u0435 \u0445\u0435 \u043d\u0443 \u0432\u044b \u043f\u043e\u043d\u044f\u043b\u0438 &#171;\u0412\u041e\u0439\u0442\u0438 \u0412\u0410\u0439\u0442\u0438&#187;.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/7e4\/c44\/245\/7e4c44245b997386b0f71d469289cf04.png\" width=\"895\" height=\"701\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/7e4\/c44\/245\/7e4c44245b997386b0f71d469289cf04.png\"\/><\/figure>\n<p>\u041f\u0440\u0438\u043d\u044f\u0442\u043e \u0441\u0447\u0438\u0442\u0430\u0442\u044c, \u0447\u0442\u043e\u00a0\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u044d\u0442\u043e \u0441\u043b\u043e\u0436\u043d\u043e, \u043d\u043e\u00a0\u044d\u0442\u043e \u043c\u0438\u0444 (\u0432\u0441\u0435 \u043f\u0440\u043e\u0449\u0435, \u0447\u0435\u043c \u043a\u0430\u0436\u0435\u0442\u0441\u044f), \u0438 \u0432\u0441\u0435 \u0447\u0442\u043e\u00a0\u043d\u0443\u0436\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u0441\u0442\u0430\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u043e\u043c \u044d\u0442\u043e \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0443\u043f\u043e\u0440\u0441\u0442\u0432\u0430 \u0438 \u0438\u0437\u043e\u0431\u0440\u0435\u0442\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438.<\/p>\n<p>\u0412\u00a0\u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u0432\u0441\u0435 \u0431\u0430\u0437\u043e\u0432\u044b\u0435 \u043d\u0430\u0432\u044b\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0443\u0436\u043d\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u0443, \u043f\u043e\u00a0\u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u0438 \u0441\u0442\u0430\u0442\u044c\u0438 <strong>\u0443\u00a0\u0442\u0435\u0431\u044f \u0431\u0443\u0434\u0443\u0442 \u0432\u0441\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u043d\u0430\u0432\u044b\u043a\u0438 \u0434\u043b\u044f\u00a0C++ Junior Desktop Developer<\/strong>, \u0430\u00a0\u0442\u0430\u043a\u0436\u0435 <strong>\u0442\u044b \u0441\u043c\u043e\u0436\u0435\u0448\u044c \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c 90% \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u0441\u00a0\u0441\u043e\u0444\u0442 \u043f\u043e\u0440\u0442\u0430\u043b\u0430<\/strong>, \u043c\u0435\u043d\u044c\u0448\u0435 \u0441\u043b\u043e\u0432 \u0431\u043b\u0438\u0436\u0435 \u043a\u00a0\u0434\u0435\u043b\u0443.<\/p>\n<p>(\u0420\u0415\u041c\u0410\u0420\u041a\u0410! \u042d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u043d\u0435\u00a0\u0431\u0443\u0434\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430 \u0442\u0435\u043c, \u043a\u0442\u043e \u0443\u0436\u0435 \u0437\u043d\u0430\u0435\u0442 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u043e\u043f\u0440\u043e\u0448\u0443 \u0438\u0437\u0431\u0430\u0432\u0438\u0442\u044c \u043c\u0435\u043d\u044f \u043e\u0442\u00a0\u0432\u0430\u0448\u0435\u0433\u043e \u00ab\u044d\u043a\u0441\u043f\u0435\u0440\u0442\u043d\u043e\u0433\u043e \u043c\u043d\u0435\u043d\u0438\u044f\u00bb \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u0430.<\/p>\n<blockquote>\n<p>\u044f \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043b \u0446\u0438\u043a\u043b \u0438\u0437 5 \u0441\u0442\u0430\u0442\u0435\u0439 \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u043d\u044b\u0439 \u0432\u0441\u0435\u043c \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u043c \u044f\u0437\u044b\u043a\u0430\u043c (\u0441++, \u043f\u0430\u0441\u043a\u0430\u043b\u044c, \u0434\u0436\u0430\u0432\u0430, \u0441\u0438 \u0448\u0430\u0440\u043f, \u0432\u0435\u0431), \u043d\u043e \u043d\u0430\u043b\u0435\u0442\u0435\u0432\u0448\u0438\u0435 <s>\u044d\u043a\u0441\u043f\u0435\u0440\u0442\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f<\/s> (*\u044b\u0434\u043b\u043e\u043a\u043e\u0434\u0435\u0440\u044b) , \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u0430\u0436\u0435 \u0441\u0442\u0430\u0442\u044c\u0438 \u0442\u043e\u043b\u043a\u043e\u043c \u043d\u0435 \u0447\u0438\u0442\u0430\u043b\u0438 \u0432\u044b\u0437\u0432\u0430\u043b\u0438 \u0443 \u043c\u0435\u043d\u044f \u0436\u0435\u0441\u0442\u043a\u0438\u0439 \u0431\u0430\u0434\u0445\u0435\u0440\u0442 \u0438 \u0434\u0435\u0437\u043c\u043e\u0440\u0430\u043b, \u0438\u0437 \u0437\u0430 \u0447\u0435\u0433\u043e \u0436\u0435\u043b\u0430\u043d\u0438\u0435 \u043f\u0438\u0441\u0430\u0442\u044c \u0441\u0442\u0430\u0442\u044c\u0438 \u0443\u043f\u0430\u043b\u043e \u043d\u0430 \u043f\u043e\u043b \u0448\u0435\u0441\u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u0438 \u043f\u0440\u0435\u0431\u044b\u0432\u0430\u043d\u0438\u0435 \u043d\u0430 \u044d\u0442\u043e\u043c \u043f\u0430\u0431\u043b\u0438\u043a\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u043e\u0440\u044f\u043d\u0447\u0438\u043a:(<\/p>\n<\/blockquote>\n<h4>\u0427\u0443\u0442\u044c-\u0447\u0443\u0442\u044c \u0442\u0435\u043e\u0440\u0438\u0438 \u0438 \u043c\u043d\u043e\u0433\u043e \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438<\/h4>\n<p>\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u043e \u043d\u0430 4\u00a0\u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u043a\u043e\u043d\u0446\u0435\u043f\u0442\u0430\u0445:<\/p>\n<ol>\n<li>\n<p>\u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435<\/p>\n<\/li>\n<li>\n<p>\u041a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u0439<\/p>\n<\/li>\n<li>\n<p>\u041a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0446\u0438\u043a\u043b\u043e\u0432<\/p>\n<\/li>\n<li>\n<p>\u0418 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0439<\/p>\n<\/li>\n<\/ol>\n<p>\u0412\u00a0\u0434\u0432\u0443\u0445 \u0441\u043b\u043e\u0432\u0430\u0445 \u043c\u044b \u0445\u0438\u0442\u0440\u043e\u0443\u043c\u043d\u043e \u0438\u0433\u0440\u0430\u0435\u043c \u0441\u00a0\u0431\u0430\u0437\u043e\u0432\u044b\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u043e\u043c, \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u043c \u043d\u0430\u00a0\u0443\u0440\u043e\u0432\u043d\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430\\\u0431\u0438\u043e\u0441\u0430\\\u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u043a\u043e\u043c\u0431\u0438\u043d\u0438\u0440\u0443\u0435\u043c \u0442\u0435 \u0431\u0430\u0437\u043e\u0432\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0441\u00a0\u043a\u0430\u043a\u0438\u043c\u0438\u2011\u0442\u043e \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0438\u0437\u00a0\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0443\u0441\u043b\u043e\u0432\u0438\u044f \u0438 \u0446\u0438\u043a\u043b\u044b \u0438 \u043e\u0431\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0435\u043c \u044d\u0442\u043e \u0432\u0441\u0435 \u0432\u00a0\u043d\u043e\u0432\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438.<\/p>\n<p>\u041a\u00a0\u043f\u0440\u0438\u043c\u0435\u0440\u0443:<\/p>\n<p>\u0423\u00a0\u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043d\u0430\u00a0\u0443\u0440\u043e\u0432\u043d\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b (\u0434\u043b\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0446\u0432\u0435\u0442\u0430 \u043f\u0438\u043a\u0441\u0435\u043b\u044f \u043d\u0430\u00a0\u044d\u043a\u0440\u0430\u043d\u0435, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u044b\u0445\u043e\u0434\u0438\u0442 \u043e\u0442\u00a0\u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 \u0432\u0438\u0434\u0435\u043e\u043a\u0430\u0440\u0442\u044b, \u0430\u00a0\u0442\u0430 \u0438\u0437\u00a0\u043a\u043e\u043c\u0431\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 \u0438 \u0432\u0438\u0434\u0435\u043e\u043a\u0430\u0440\u0442\u044b).<\/p>\n<p>\u041c\u044b \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c \u044d\u0442\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u044e (\u0432 \u043a\u0430\u043a\u0438\u0445\u2011\u043b\u0438\u0431\u043e \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430\u0445), \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0440\u0438\u0441\u0443\u0435\u043c\u00a0\u043b\u0438\u043d\u0438\u044e, \u043e\u0431\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0435\u043c \u044d\u0442\u043e \u0432\u00a0\u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0434\u043b\u044f\u00a0\u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f\u00a0\u043b\u0438\u043d\u0438\u0439, 4\u00a0\u0440\u0430\u0437\u0430 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c \u044d\u0442\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u0440\u0438\u0441\u043e\u0432\u0430\u0442\u044c (\u043a \u043f\u0440\u0438\u043c\u0435\u0440\u0443) \u043a\u043d\u043e\u043f\u043a\u0443, \u043f\u043e\u0442\u043e\u043c \u043e\u0431\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0435\u043c \u044d\u0442\u043e \u0432\u00a0\u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0434\u043b\u044f\u00a0\u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043d\u043e\u043f\u043e\u043a \u0438 \u0443\u0436\u0435 \u0440\u0438\u0441\u0443\u0435\u043c \u0432\u00a0\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442\u00a0\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043a\u0443\u0440\u0441\u043e\u0440\u0430 \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u0446\u0432\u0435\u0442\u0430\u043c\u0438, \u0438 \u0442\u0434.<\/p>\n<p>\u041d\u0430\u0434\u0435\u044e\u0441\u044c, \u043b\u043e\u0433\u0438\u043a\u0430 \u043f\u043e\u043d\u044f\u0442\u043d\u0430, \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u043e\u00a0\u0441\u0443\u0442\u0438:<\/p>\n<p>\u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f\u00a0\u2014 \u0443\u0441\u043b\u043e\u0432\u043d\u044b\u0439 \u00ab\u043c\u0430\u0440\u043a\u0435\u0440 \u0434\u0430\u043d\u043d\u044b\u0445\u00bb, \u043f\u043e\u0434\u0441\u0442\u0430\u043d\u043e\u0432\u043e\u0447\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e, \u0441\u00a0\u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0447\u0442\u043e\u2011\u0442\u043e \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u043e\u0432\u0430\u043d\u043e, \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n<p>\u041a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u0443\u0441\u043b\u043e\u0432\u0438\u0439\u00a0\u2014 \u043a\u0430\u043a\u043e\u0435\u00a0\u043b\u0438\u0431\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u0434\u043b\u044f\u00a0\u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043e\u0434\u043d\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u043a\u043e\u0434\u0430,\u00a0\u043b\u0438\u0431\u043e \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u043e\u0439 (\u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437\u00a0\u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 \u00ab\u0443\u0441\u043b\u043e\u0432\u0438\u044f\u00bb \u0438 \u0431\u043b\u043e\u043a\u0430 \u043a\u043e\u0434\u0430, \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0433\u043e {} \u0441\u043e\u0431\u0430\u043a\u0430\u043c\u0438 \u00ab\u0442\u0435\u043b\u0430\u00bb).<\/p>\n<p>\u041a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u0446\u0438\u043a\u043b\u0430\u00a0\u2014 \u0442\u043e\u0436\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u0435, \u043d\u043e\u00a0\u0432\u043c\u0435\u0441\u0442\u043e \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u043e\u0433\u043e, \u043a\u043e\u0434\u0430 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u0442 \u043a\u043e\u0434 \u0432\u043d\u0443\u0442\u0440\u0438 \u0442\u0435\u043b\u0430 (\u0444\u0438\u0433\u0443\u0440\u043d\u044b\u0445 {} \u0441\u043a\u043e\u0431\u043e\u0447\u0435\u043a), \u0434\u043e\u00a0\u0442\u0435\u0445 \u043f\u043e\u0440, \u043f\u043e\u043a\u0430 \u0443\u0441\u043b\u043e\u0432\u0438\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f.<\/p>\n<p>\u0424\u0443\u043d\u043a\u0446\u0438\u044f\u00a0\u2014 \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043a\u0430\u043a\u043e\u0439\u2011\u043b\u0438\u0431\u043e \u0431\u043b\u043e\u043a \u043a\u043e\u0434\u0430, \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043d\u0430\u00a0\u043c\u0435\u0441\u0442\u043e \u0441\u0432\u043e\u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u0430\u043a\u0438\u0435\u2011\u043b\u0438\u0431\u043e \u0434\u0430\u043d\u043d\u044b\u0435 (\u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043c\u043e\u0436\u0435\u0442 \u043d\u0435\u00a0\u0442\u043e\u043b\u044c\u043a\u043e \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0442\u044c \u043a\u0430\u043a\u0438\u0435\u2011\u043b\u0438\u0431\u043e \u0434\u0430\u043d\u043d\u044b\u0435, \u043d\u043e\u00a0\u0438 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u0432\u00a0\u0441\u0435\u0431\u044f \u0434\u0430\u043d\u043d\u044b\u0435 (\u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b \u0444\u0443\u043d\u043a\u0446\u0438\u0438), \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u043c\u0435\u0441\u0442\u0435 \u0441\u00a0\u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 \u0443\u043a\u0430\u0437\u0430\u043d\u044b \u0432\u00a0\u043c\u0435\u0441\u0442\u0435 \u0432\u044b\u0437\u043e\u0432\u0430, \u0432\u00a0\u043a\u043e\u0434\u0435, \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0442\u0430\u043a\u0436\u0435 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437\u00a0\u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 \u0438 \u0442\u0435\u043b\u0430).<\/p>\n<p>\u041d\u0435\u0447\u0442\u043e \u0432\u0430\u0436\u043d\u043e\u0435, \u0447\u0442\u043e\u00a0\u043d\u0443\u0436\u043d\u043e \u0437\u043d\u0430\u0442\u044c \u044d\u0442\u043e \u00ab\u0442\u0438\u043f\u044b \u0434\u0430\u043d\u043d\u044b\u0445\u00bb \u0434\u043b\u044f\u00a0\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445, \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0435 \u0447\u0438\u0441\u043b\u043e\u0432\u044b\u0435 \u0438 \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u044b\u0435, \u043d\u043e\u00a0\u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u00ab\u0442\u0438\u043f\u043e\u0432 \u0434\u0430\u043d\u043d\u044b\u0445\u00bb \u044d\u0442\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0435 \u0442\u0438\u043f\u044b \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u0441\u043e\u0441\u0442\u043e\u044f\u0442\u044c \u043a\u0430\u043a\u00a0\u0438\u0437 2\u00a0\u0447\u0438\u0441\u043b\u043e\u0432\u044b\u0445 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0432\u00a0\u043e\u0434\u043d\u043e\u0439, \u0442\u0430\u043a \u0438 \u0438\u0437\u00a0\u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043e\u043a\u043e\u043d \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0432\u00a0\u043e\u0434\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 (\u0438\u043d\u0430\u0447\u0435 \u0433\u043e\u0432\u043e\u0440\u044f \u0442\u0438\u043f\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f\u00a0\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043b\u044e\u0431\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435, \u0430\u00a0\u044d\u0442\u0438 \u00ab\u043b\u044e\u0431\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u0438\u043c\u0435\u0442\u044c \u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u0435\u0431\u044f, \u043a\u0430\u043a\u00a0\u043f\u0440\u043e\u0441\u0442\u043e \u0447\u0438\u0441\u043b\u043e, \u0442\u0430\u043a \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0446\u0438\u043a\u043b\u044b, \u0443\u0441\u043b\u043e\u0432\u0438\u044f, \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435, \u0438 \u0434\u0440\u0443\u0433\u0438\u0435, \u043a\u043d\u043e\u043f\u043a\u0438, \u043e\u043a\u043d\u0430, \u0438 \u0442\u0434).<\/p>\n<p>\u041d\u0438\u0447\u0435\u0433\u043e \u0441\u0442\u0440\u0430\u0448\u043d\u043e\u0433\u043e \u0435\u0441\u043b\u0438 \u043d\u0435\u043f\u043e\u043d\u044f\u0442\u043d\u043e \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c\u0441\u044f \u043d\u0430\u00a0\u0445\u043e\u0434\u0443.<\/p>\n<p>\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0438\u0437\u00a0\u0442\u0435\u043e\u0440\u0438\u0438 \u044d\u0442\u043e GetMessage() \u0438 SendMessage(), \u0434\u0432\u0435 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043d\u0430\u00a0\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u044b \u0432\u0441\u0435 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u043f\u0435\u0440\u0432\u0430\u044f \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043e\u0442\u00a0\u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u0432\u0442\u043e\u0440\u0430\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0432\u00a0\u0441\u0438\u0441\u0442\u0435\u043c\u0443.<\/p>\n<p>\u041a\u00a0\u043f\u0440\u0438\u043c\u0435\u0440\u0443: \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043e\u0442\u00a0\u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u00ab\u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b \u043c\u044b\u0448\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u044b\u00bb, \u0432\u00a0\u043a\u043e\u0434\u0435 \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0443\u0441\u043b\u043e\u0432\u0438\u0435, \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u044e\u0449\u0438\u0435 \u043f\u0435\u0440\u0435\u0441\u0435\u043a\u0430\u044e\u0442\u00a0\u043b\u0438 \u043d\u043e\u0432\u044b\u0435 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b \u043c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043a\u043d\u043e\u043f\u043a\u0438, \u0438, \u0435\u0441\u043b\u0438 \u0434\u0430, \u043c\u0435\u043d\u044f\u0435\u043c \u0446\u0432\u0435\u0442 \u043a\u043d\u043e\u043f\u043a\u0438. \u041e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a\u0436\u0435 (\u0438\u0437 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0432\u00a0\u0441\u0438\u0441\u0442\u0435\u043c\u0443), \u0438 \u0442\u0430\u043a\u043e\u0439 \u0446\u0438\u043a\u043b \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0432\u0441\u0435 \u0432\u0440\u0435\u043c\u044f, \u043f\u043e\u043a\u0430 \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 (\u0441\u0438\u0441\u0442\u0435\u043c\u0430: \u043d\u0430\u0436\u0430\u0442\u0430 \u043a\u043d\u043e\u043f\u043a\u0430, \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430: \u0438\u0437\u043c\u0435\u043d\u0435\u043d \u0440\u0430\u0437\u043c\u0435\u0440 \u043e\u043a\u043d\u0430, \u0441\u0438\u0441\u0442\u0435\u043c\u0430: \u0441\u043e\u0437\u0434\u0430\u043d \u043d\u043e\u0432\u044b\u0439 \u0444\u0430\u0439\u043b, \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430: \u043e\u043a\u043d\u043e \u043f\u0435\u0440\u0435\u0440\u0438\u0441\u043e\u0432\u0430\u043d\u043e, \u0438 \u0442\u0434).<\/p>\n<h3>\u041c\u043d\u043e\u0433\u043e \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438<\/h3>\n<p>\u0417\u0430\u043f\u0443\u0441\u0442\u0438\u043c Visual Studio \u0438 \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043d\u043e\u0432\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442, \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 Windows (\u0434\u043b\u044f \u043d\u0435\u0433\u043e \u0434\u0430\u0436\u0435 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435\u00a0\u043d\u0443\u0436\u043d\u043e \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0442\u044c, \u0432\u0441\u0435 \u0443\u0436\u0435 \u0432\u00a0\u0441\u0438\u0441\u0442\u0435\u043c\u0435), \u0442\u044b\u043a\u0430\u0435\u043c \u0434\u0430\u043b\u0435\u0435\\\u0441\u043e\u0437\u0434\u0430\u0442\u044c. \u0413\u043e\u0442\u043e\u0432\u043e, \u043c\u043e\u0436\u0435\u043c \u043d\u0430\u0436\u0430\u0442\u044c \u043a\u043d\u043e\u043f\u043a\u0443 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c, \u0438 \u0443\u00a0\u043d\u0430\u0441 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c\u0441\u044f \u0433\u043e\u0442\u043e\u0432\u043e\u0435 \u043f\u0443\u0441\u0442\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/129\/a37\/bc8\/129a37bc8baa8b0e293e7be1f3621263.png\" width=\"817\" height=\"624\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/129\/a37\/bc8\/129a37bc8baa8b0e293e7be1f3621263.png\"\/><\/figure>\n<p>\u0417\u0430\u043a\u0440\u043e\u0435\u043c \u0435\u0433\u043e (\u043d\u0435 \u043f\u0443\u0433\u0430\u0435\u043c\u0441\u044f!).<\/p>\n<p>\u0412\u00a0\u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0435 \u043f\u043e\u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u043c\u043d\u043e\u0433\u043e \u0447\u0435\u0433\u043e \u043d\u0435\u00a0\u043f\u043e\u043d\u044f\u0442\u043d\u043e\u0433\u043e (\u043d\u0438\u0447\u0435\u0433\u043e \u0441\u0442\u0440\u0430\u0448\u043d\u043e\u0433\u043e \u0447\u0442\u043e\u00a0\u043d\u0435\u043f\u043e\u043d\u044f\u0442\u043d\u043e), \u0438 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 (\u0432\u043e\u0442 \u044d\u0442\u043e \/\/\u0437\u0435\u043b\u0435\u043d\u043e\u0435 \u043d\u0430\u00a0\u0440\u0443\u0441\u0441\u043a\u043e\u043c) \u043d\u0435\u00a0\u043e\u0441\u043e\u0431\u043e \u043f\u043e\u043c\u043e\u0433\u0430\u044e\u0442.<\/p>\n<p>\u0412\u043e\u043e\u0431\u0449\u0435 \u0434\u043b\u044f\u00a0\u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 Win32\u00a0\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043a\u043e\u0434 \u0438\u0437\u0431\u044b\u0442\u043e\u0447\u0435\u043d, \u0438 \u043d\u0435\u00a0\u0441\u043e\u0432\u0441\u0435\u043c \u043f\u043e\u043d\u044f\u0442\u0435\u043d \u0434\u0430\u0436\u0435 \u0434\u043b\u044f \u00ab\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u043e\u0432\u00bb, \u044f \u0434\u0443\u043c\u0430\u044e \u044d\u0442\u043e \u0442\u0430\u043a\u0430\u044f \u00ab\u0448\u0443\u0442\u043e\u0447\u043a\u0430\u00bb \u043e\u0442\u00a0\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432, \u043c\u043e\u043b \u0441\u043f\u0440\u0430\u0432\u0438\u0448\u044c\u0441\u044f \u0441\u00a0\u044d\u0442\u0438\u043c, \u0437\u043d\u0430\u0447\u0438\u0442 \u0441\u043f\u0440\u0430\u0432\u0438\u0448\u044c\u0441\u044f \u0441\u043e \u0432\u0441\u0435\u043c (\u043a\u0430\u043a \u043d\u0435\u00a0\u0442\u0440\u0443\u0434\u043d\u043e \u0434\u043e\u0433\u0430\u0434\u0430\u0442\u044c\u0441\u044f \u043f\u043e\u00a0\u043c\u0430\u043b\u043e\u043c\u0443 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0443 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c, \u0438 \u0432\u00a0\u043e\u0431\u0449\u0435\u043c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043f\u043e\u00a0\u0434\u0430\u043d\u043d\u043e\u043c\u0443 \u043f\u043e\u0434\u0445\u043e\u0434\u0443 \u0432\u00a0\u0441\u0435\u0442\u0438, \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e 90% \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u043e\u0432\u00a0\u2014 \u043d\u0435\u00a0\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u044b).<\/p>\n<p>\u041d\u0430\u00a0\u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u0438\u0437\u00a0\u0432\u0441\u0435\u0433\u043e \u044d\u0442\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u043d\u0430\u043c \u0445\u0432\u0430\u0442\u0438\u043b\u043e\u00a0\u0431\u044b \u043e\u0434\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438 \u043f\u0430\u0440\u044b \u043a\u043e\u043c\u0430\u043d\u0434, \u043d\u0443 \u0434\u0430\u00a0\u043b\u0430\u0434\u043d\u043e, \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434!<\/p>\n<h2>\u042d\u0442\u0430\u043f \u21161 \u043e\u0447\u0435\u043d\u044c \u0441\u043b\u043e\u0436\u043d\u044b\u0439 \u043a\u043e\u0434<\/h2>\n<details class=\"spoiler\">\n<summary>\u041d\u0443 \u0448\u043e \u043d\u0430\u0440\u043e\u0434 \u043f\u043e\u0433\u043d\u0430\u043b\u0438 \u043d\u0430!?<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"cpp\">\/\/ WindowsProject1.cpp : \u041e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0442\u043e\u0447\u043a\u0443 \u0432\u0445\u043e\u0434\u0430 \u0434\u043b\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f. \/\/  \/\/ \u044d\u0442\u043e\u0442 \u043a\u0443\u0441\u043e\u043a \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c (\u044d\u0442\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u043b \u044f) \/\/ \u0434\u0438\u0440\u0435\u043a\u0442\u0438\u0432\u0430 pragma once \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u0435\u0442 \/\/ \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0431\u0430\u0433\u0430 \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435, \/\/ \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u043e\u0438\u0437\u043e\u0439\u0442\u0438 \u0438\u0437-\u0437\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0434\u043b\u044f \/\/ \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a (\u0444\u0430\u0439\u043b\u043e\u0432 \u0441 \u0437\u0430\u0433\u043e\u0442\u043e\u0432\u043a\u0430\u043c\u0438 \u043a\u043e\u0434\u0430) \/\/ include, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043d\u0430 \u0441\u0432\u043e\u0435 \u043c\u0435\u0441\u0442\u043e \/\/ \u0432\u0441\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0444\u0430\u0439\u043b\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u044b\u043b \u0443\u043a\u0430\u0437\u0430\u043d \/\/ (\u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u044b include \u0432\u043d\u0443\u0442\u0440\u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u043e\u0433\u043e \/\/ \u0444\u0430\u0439\u043b\u0430) \u043f\u0440\u0438 \u0432\u044b\u0437\u043e\u0432\u0435, \u0438\u0437 \u0437\u0430 \u0447\u0435\u0433\u043e \u043c\u043e\u0433\u0443 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0442\u044c \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \/\/ \u043e\u0448\u0438\u0431\u043a\u0438 \u0438 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u0441\u0430\u043c\u043e\u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f (\u043a\u043e\u0433\u0434\u0430 \/\/ \u043e\u0434\u043d\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0441\u0441\u044b\u043b\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0432\u0442\u043e\u0440\u0443\u044e, \u0430 \u0432\u0442\u043e\u0440\u0430\u044f \u043d\u0430 \/\/ \u043f\u0435\u0440\u0432\u0443\u044e), \u0432 \u0434\u0432\u0443\u0445 \u0441\u043b\u043e\u0432\u0430\u0445 \u0432\u0441\u0435 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 \u0441\u043e\u0431\u0438\u0440\u0430\u044e\u0442\u0441\u044f \/\/ \u0432 \u043e\u0434\u043d\u0438 \u0434\u043b\u0438\u043d\u043d\u044b\u0439 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 (\u043a\u043e\u043c\u0430\u043d\u0434\u0430\u043c\u0438 include), \/\/ \u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 pragma once \u0443\u0434\u0430\u043b\u044f\u0435\u0442 \u0432\u0441\u0435 \u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u044b, \/\/ \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0430\u043c\u0443\u044e \u043f\u0435\u0440\u0432\u0443\u044e include, \/\/ \u043b\u0438\u0447\u043d\u043e \u044f \u043d\u0430\u0447\u0438\u043d\u0430\u044e \u043b\u044e\u0431\u043e\u0439 \u0444\u0430\u0439\u043b \u0441 pragma once, \/\/ \u0447\u0442\u043e \u0431\u044b \u043d\u0435 \u0431\u0435\u0441\u043f\u043e\u043a\u043e\u0438\u0442\u0441\u044f \u043e \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u044f\u0445, \u043d\u043e \u044d\u0442\u043e \/\/ \u043d\u0435 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e (\u043a\u0430\u0440\u043e\u0447\u0435 \u043f\u043e\u043a\u0430 \u043d\u0435 \u0437\u0430\u043c\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0439\u0442\u0435\u0441\u044c) #pragma once   \/\/ \u0438 \u043d\u0430\u0447\u0430\u0442\u044c \u043e\u0442\u0441\u044e\u0434\u0430 \/\/ \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \/\/ \u043d\u0430\u0431\u043e\u0440\u044b \u0433\u043e\u0442\u043e\u0432\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u043a\u0430\u043a \u0432 \u044d\u0442\u043e\u043c \u0444\u0430\u0439\u043b\u0435,  \/\/ \u0433\u0434\u0435 \u0443\u0436\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0435 \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0438 (\u0437\u0430\u0433\u043e\u0442\u043e\u0432\u043a\u0438) \u0434\u043b\u044f \/\/ \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043d\u0430\u0448\u0435\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b #include \"framework.h\" #include \"WindowsProject2.h\"  \/\/ \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043c \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0442\u0435\u0440\u043c\u0438\u043d  \/\/ (\u0447\u0438\u0442\u0430\u0439 \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0440\u0430\u0437\u043d\u043e\u0432\u0438\u0434\u043d\u043e\u0441\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439) \/\/ \u043f\u043e\u0434 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c MAX_LOADSTRING \u0438 \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u0443\u0435\u043c \/\/ \u0441 \u043d\u0435\u0439 \u0447\u0438\u0441\u043b\u043e 999, \u0442\u0435\u043f\u0435\u0440\u044c \u0432\u0435\u0437\u0434\u0435 \u0432 \u043a\u043e\u0434\u0435, \u0433\u0434\u0435  \/\/ \u0431\u0443\u0434\u0435\u0442 \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u0435\u0442\u0441\u044f \u0442\u0435\u0440\u043c\u0438\u043d MAX_LOADSTRING \/\/ \u043e\u043d \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043c\u0435\u043d\u044f\u0442\u0441\u044f \u043d\u0430 999 #define MAX_LOADSTRING 999  \/\/ \u0413\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435: \/\/  \/\/ hInst \u044d\u0442\u043e \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u0430\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430 \u043d\u0430\u0448\u0435\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \/\/ \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c - \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u0438\u0448\u0435\u0442\u0441\u044f \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e, \/\/ \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439, \u043f\u043e\u0442\u043e\u043c \u043a\u0430\u043a\u043e\u0435-\u043d\u0438\u0431\u0443\u0434\u044c \u0438\u043c\u044f (\u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \/\/ \u0441\u043b\u043e\u0432\u043e), \u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0435, \u0442\u043e \u0435\u0441\u0442\u044c \u0432\u0435\u0437\u0434\u0435 \u0432 \u043a\u043e\u0434\u0435, \u0433\u0434\u0435 \u0431\u0443\u0434\u0435\u0442 \/\/ \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u0435\u0442\u0441\u044f \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e, \u043e\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0437\u0430\u043c\u0435\u043d\u044f\u0442\u0441\u044f \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0435, \/\/ \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u044b\u043b\u0438 \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0441 \u044d\u0442\u0438\u043c \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u043c \u0441\u043b\u043e\u0432\u043e\u043c HINSTANCE hInst;                                \/\/ \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440  \/\/ \u0441\u0440\u0430\u0437\u0443 \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0441\u0432\u043e\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e, \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 \/\/ \u0431\u0443\u0434\u0435\u0442 HWND, \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 Form1, \u0431\u0443\u0434\u0435\u043c \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0442\u0443\u0442 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \/\/ \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043d\u0430 \u043d\u0430\u0448\u0435 \u043e\u043a\u043d\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b (\u0444\u043e\u0440\u043c\u044b) HWND Form1;  \/\/ \u0432 \u043e\u0431\u0449\u0435\u043c \u0442\u043e \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u043f\u0430\u0440\u0443 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0442\u0438\u043f\u0430 \"\u0431\u0443\u043a\u0432\u0435\u043d\u043d\u0430\u044f \u043c\u043d\u043e\u0433\u043e\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0432 \u043e\u0434\u043d\u043e\u0439\", \/\/ \u0438 \u0441\u0440\u0430\u0437\u0443 \u0437\u0430\u0434\u0430\u0435\u043c \u0435\u0433\u043e \u0434\u043b\u0438\u043d\u0443 \u0432 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0435 [MAX_LOADSTRING] (\u0438\u043d\u0430\u0447\u0435 \u0433\u043e\u0432\u043e\u0440\u044f \u043d\u0430\u0431\u043e\u0440  \/\/ \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432, \u0438\u043b\u0438 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435) WCHAR szTitle[MAX_LOADSTRING];                  \/\/ \u0422\u0435\u043a\u0441\u0442 \u0441\u0442\u0440\u043e\u043a\u0438 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 WCHAR szWindowClass[MAX_LOADSTRING];            \/\/ \u0438\u043c\u044f \u043a\u043b\u0430\u0441\u0441\u0430 \u0433\u043b\u0430\u0432\u043d\u043e\u0433\u043e \u043e\u043a\u043d\u0430  \/\/ \u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044b\u0445 \u0432 \u044d\u0442\u043e\u0442 \u043c\u043e\u0434\u0443\u043b\u044c \u043a\u043e\u0434\u0430: \/\/  \/\/ \u044d\u0442\u0438 \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0441\u0435\u0439\u0447\u0430\u0441 \u043d\u0435 \u0432\u0430\u0436\u043d\u044b, \u043f\u043e \u0441\u0443\u0442\u0438, \u043e\u043d\u0438 \u043f\u0440\u043e\u0441\u0442\u043e \"\u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0443\u044e\u0442\" \/\/ \u043d\u0430\u0448\u0443 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u0434\u043b\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u0441\u043e\u0437\u0434\u0430\u044e\u0442 \u043d\u043e\u0432\u044b\u0439 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u043e\u043a\u043d\u0430 (\u0438\u0437 \u0437\u0430\u0433\u043e\u0442\u043e\u0432\u043e\u043a \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435)  \/\/ \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044e\u0442 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 (\u043d\u0435\u0442 \u0441\u043c\u044b\u0441\u043b\u0430 \u0432\u0434\u0430\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438, \u0438 \u0437\u0430\u0431\u0438\u0432\u0430\u0442\u044c \u0433\u043e\u043b\u043e\u0432\u0443) \/\/ \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0442\u0441\u044f \u0441 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u043e\u0432, \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0438\u0434\u0435\u0442 \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u043e\u043b\u0436\u043d\u0430 \u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044f, \/\/ \u043f\u043e\u0442\u043e\u043c \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e, \u043b\u044e\u0431\u043e\u0435 (\u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u044d\u0442\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438), \u0438 \u043d\u0430\u043a\u043e\u043d\u0435\u0446 \u0432 \u043a\u0440\u0443\u0433\u043b\u044b\u0445 () \u0441\u043a\u043e\u0431\u043a\u0430\u0445 \/\/ \"\u0437\u0430\u0433\u043e\u0442\u043e\u0432\u043a\u0438\" \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0432\u0441\u0435\u0445 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u043e\u043b\u0436\u044b \u0431\u044b\u0442\u044c \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u044b \u0444\u0443\u043d\u043a\u0446\u0438\u0435, \u0432 \u0441\u0430\u043c\u043e\u0439 \u0436\u0435 \/\/ (\u0432\u043d\u0443\u0442\u0440\u0438), \u044d\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u043f\u043e\u0434 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f\u043c\u0438 \"\u0437\u0430\u0433\u043e\u0442\u043e\u0432\u043a \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445\" ATOM                MyRegisterClass(HINSTANCE hInstance); BOOL                InitInstance(HINSTANCE, int); LRESULT CALLBACK    WndProc(HWND, UINT, WPARAM, LPARAM); INT_PTR CALLBACK    About(HWND, UINT, WPARAM, LPARAM);  \/\/ \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e wWinMain \/\/ \u044d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0432 \u0441\u0435\u0431\u044f \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432, \/\/ \u044d\u0442\u043e \"\u0442\u043e\u0447\u043a\u0430 \u0432\u0445\u043e\u0434\u0430\", \u043a\u043e\u0433\u0434\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f, \u043e\u043d\u0430  \/\/ \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u044d\u0442\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \/\/ \/\/ \u044d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0431\u0443\u0434\u0435\u0442 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0442\u044c \u0441\u0432\u044f\u0437\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0438 \u043d\u0430\u0448\u0435\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \/\/ \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0431\u0435\u0441\u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0433\u043e \u0446\u0438\u043a\u043b\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u0442\u0441\u044f \u0434\u043e \u0442\u0435\u0445 \u043f\u043e\u0440,  \/\/ \u043f\u043e\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u0430, \u0438 \u043f\u0435\u0440\u0435\u0445\u0432\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043e\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u044b int APIENTRY wWinMain(_In_ HINSTANCE hInstance,                      _In_opt_ HINSTANCE hPrevInstance,                      _In_ LPWSTR    lpCmdLine,                      _In_ int       nCmdShow) {     \/\/ \u044d\u0442\u0438 \u0441\u0442\u0440\u043e\u043a\u0438 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438     \/\/ \u0441 \u043d\u0438\u043c\u0438 \u043f\u043e\u043a\u0430 \u0437\u0430\u043c\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0435 \u043d\u0443\u0436\u043d\u043e, \u043e\u043d\u0438 \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0434\u043b\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430     \/\/ \u0432 \u0434\u0432\u0443\u0445 \u0441\u043b\u043e\u0432\u0430\u0445 \u044d\u0442\u043e \u0435\u0449\u0435 \u043e\u0434\u043d\u0430 \u0440\u0430\u0437\u043d\u043e\u0432\u0438\u0434\u043d\u043e\u0441\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439,     \/\/ \u0441 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0434\u043b\u044f \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0435\u043d\u0438\u044f     \/\/ \u043f\u0430\u043c\u044f\u0442\u0438 \u043e\u0442 \u043d\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445     \/\/UNREFERENCED_PARAMETER(hPrevInstance);     \/\/UNREFERENCED_PARAMETER(lpCmdLine);      \/\/ TODO: \u0420\u0430\u0437\u043c\u0435\u0441\u0442\u0438\u0442\u0435 \u043a\u043e\u0434 \u0437\u0434\u0435\u0441\u044c.      \/\/ \u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0445 \u0441\u0442\u0440\u043e\u043a     \/\/      \/\/ \u043f\u043e\u0434\u0433\u0440\u0443\u0436\u0430\u0435\u043c (\u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0439) \u0438\u0437 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u043d\u0430\u0448\u0435\u0433\u043e \u0444\u0430\u0439\u043b\u0430 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043e\u043a\u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0434\u043b\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u044b     \/\/ \u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0441\u0430\u043c\u043e\u0433\u043e \u043e\u043a\u043d\u0430 (\u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u043a\u043d\u043e \u0442\u0438\u043f\u0430 \"\u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u043e\u0435\" \u0441 \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c\u044b\u043c     \/\/ \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c, \u0441\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u0435\u043c, \u0438 \u0442\u0434)     LoadStringW(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);     LoadStringW(hInstance, IDC_WINDOWSPROJECT2, szWindowClass, MAX_LOADSTRING);      \/\/ \u0430\u0434\u0430\u043f\u0442\u0438\u0440\u0443\u0435\u043c \u043d\u0430\u0448\u0443 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u0434\u043b\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438     \/\/ MyRegisterClass, \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u043c \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440     \/\/ \u043d\u0430\u0448\u0435\u0433\u043e \u043e\u043a\u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0438\u0437 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438      \/\/ (wWinMain) \u0432 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0435 hInstance     MyRegisterClass(hInstance);          \/\/ \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0443\u0441\u043b\u043e\u0432\u0438\u0435, \u0435\u0441\u043b\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044f (InitInstance) \u0432\u0435\u0440\u043d\u0443\u043b\u0430 \u043d\u0430 \u043c\u0435\u0441\u0442\u043e \u0441\u0432\u043e\u0435\u0433\u043e \u0432\u044b\u0437\u043e\u0432\u0430     \/\/ \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 false, \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u0435 \u0432 \u0438\u0434\u0435\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e     \/\/ return, \u043f\u0440\u0438 \u0432\u0441\u0442\u0440\u0435\u0447\u0435 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043b\u044e\u0431\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u0440\u0435\u043a\u0440\u0430\u0449\u0430\u0435\u0442 \u043f\u043e\u0441\u0442\u0440\u043e\u0447\u043d\u043e\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435     \/\/ \u043a\u043e\u0434\u0430, \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c \u043b\u043e\u0436\u044c \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 wWinMain (\u0432 \u043c\u0435\u0441\u0442\u043e \u0432\u044b\u0437\u043e\u0432\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438)     \/\/ \u0412\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f:     if (!InitInstance (hInstance, nCmdShow))     {         return FALSE;     }      \/\/ \u044d\u0442\u043e \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043a\u043e\u0434 \u0434\u043b\u044f \u043e\u0442\u043b\u043e\u0432\u0430 \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u043d\u0430\u0436\u0430\u0442\u0438\u044f \u043a\u043b\u0430\u0432\u0438\u0448,     \/\/ \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u0443\u0435\u043c \u0441 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 hAccelTable (\u0442\u0438\u043f\u0430 HACCEL) \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442     \/\/ \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438 LoadAccelerators, \u0441\u0430\u043c\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0438\u0437\u0432\u043b\u0435\u043a\u0430\u0435\u0442 \u0438\u0437     \/\/ \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u043d\u0430\u0448\u0435\u0433\u043e \u0444\u0430\u0439\u043b\u0430 \u0433\u043e\u0442\u043e\u0432\u044b\u0435 \u0441\u0445\u0435\u043c\u044b \u0441\u043e\u0447\u0435\u0442\u0430\u043d\u0438\u044f \u043a\u043b\u0430\u0432\u0438\u0448 \u0438 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0439     \/\/ \u0434\u043b\u044f \u044d\u0442\u0438\u0445 \u0441\u043e\u0447\u0435\u0442\u0430\u043d\u0438\u0439 (\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u044b\u043b\u0438 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438)     HACCEL hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_WINDOWSPROJECT2));      \/\/ \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0442\u0438\u043f\u0430 MSG (\u0441\u043b\u043e\u0436\u043d\u043e\u0441\u043e\u0441\u0442\u0430\u0432\u043d\u043e\u0439 \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445) \u043f\u043e\u0434 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c MSG     \/\/ \u0432 \u044d\u0442\u0443 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0431\u0443\u0434\u0443\u0442 \u043f\u043e\u043f\u0430\u0434\u0430\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432 \u0446\u0438\u043a\u043b\u0435 \u0431\u0443\u0434\u0443\u0442 \u043f\u0435\u0440\u0435\u0445\u0432\u0430\u0442\u044b\u0432\u0430\u0442\u044c\u0441\u044f      \/\/ \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 GetMessage     MSG msg;      \/\/ \u0426\u0438\u043a\u043b \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f:      \/\/ \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0446\u0438\u043a\u043b, \u0434\u043e \u0442\u0435\u0445 \u043f\u043e\u0440 \u043f\u043e\u043a\u0430 GetMessage, \u0441 \u043f\u0443\u0441\u0442\u044b\u043c\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438      \/\/ (2,3,4, \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u0432\u0434\u0430\u0432\u044f\u0442\u0441\u044f \u0441\u0435\u0439\u0447\u0430\u0441 \u0432 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u043f\u043e\u0447\u0435\u043c\u0443)     \/\/ \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043a\u0430\u043a\u043e\u0439-\u043b\u0438\u0431\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 (\u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e msg)      \/\/ \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043a\u043e\u0434 \u0432 \u0442\u0435\u043b\u0435 \u0446\u0438\u043a\u043b\u0430     \/\/     \/\/ \u0432\u0430\u0436\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442, \u043f\u043e\u0447\u0435\u043c\u0443 &amp;msg (\u0430\u0441\u0441\u043e\u0446\u0438\u0430\u0446\u0438\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439), \u0430 \u043d\u0435     \/\/ \u043f\u0440\u043e\u0441\u0442\u043e msg (\u043f\u0440\u0438\u0441\u0432\u043e\u0435\u043d\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439)? \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0435\u0441\u043b\u0438 \u0441\u043e\u0437\u0434\u0430\u0442\u044c      \/\/ \"\u0443\u0441\u043b\u043e\u0432\u043d\u044b\u0439\" \u043e\u0431\u044a\u0435\u043a\u0442 \u043a\u043d\u043e\u043f\u043a\u0430, \u0437\u0430\u0434\u0430\u0442\u044c \u0435\u043c\u0443 \u043a\u0430\u043a\u0438\u0435-\u043b\u0438\u0431\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b,      \/\/ \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0435\u0449\u0435 \u043e\u0434\u0438\u043d, \u0438 \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0441\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b      \/\/ \u043f\u0440\u043e\u0441\u0442\u044b\u043c \u043f\u0440\u0438\u0441\u0432\u043e\u0435\u043d\u0438\u0435\u043c, \u043f\u0440\u0438\u0441\u0432\u043e\u0435\u043d\u044b \u0431\u0443\u0434\u0443\u0442 \u043d\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043a\u043d\u043e\u043f\u043a\u0438,      \/\/ \u0430 \u0441\u0430\u043c\u0430 \u043a\u043d\u043e\u043f\u043a\u0430 (\u043e\u0431\u044a\u0435\u043a\u0442), \u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043a\u043d\u043e\u043f\u043a\u0430 \u043e\u0434\u0438\u043d      \/\/ \u0431\u0443\u0434\u0435\u0442 \u0442\u0430\u043a\u0436\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u043f\u043e\u0434 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c \u043a\u043d\u043e\u043f\u043a\u0430 \u0434\u0432\u0430     while (GetMessage(&amp;msg, nullptr, 0, 0))      \/\/ \u044d\u0442\u043e \u043d\u0430\u0447\u0430\u043b\u043e \u0442\u0435\u043b\u0430 \u0446\u0438\u043a\u043b\u0430     {         \/\/ \u043d\u0435\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0430\u044f \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u0443\u0441\u043b\u043e\u0432\u0438\u044f, \u043e\u043d\u0430 \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u0435\u0442         \/\/ \u043f\u0440\u043e\u0441\u0442\u0443\u044e \u043b\u043e\u0433\u0438\u043a\u0443, \u0435\u0441\u043b\u0438 \u043d\u0435 \"!\" \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438         \/\/ TranslateAccelerator (\u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0434\u043b\u044f \u0433\u043e\u0440\u044f\u0447\u0438\u0445 \u043a\u043b\u0430\u0432\u0438\u0448)         \/\/ \u0442\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043a\u043e\u0434 \u0432 \u0443\u0441\u043b\u043e\u0432\u0438\u0438, \u0438\u043d\u0430\u0447\u0435 \u0433\u043e\u0432\u043e\u0440\u044f, \u0435\u0441\u043b\u0438          \/\/ \u043d\u0430\u0436\u0430\u0442\u0430\u044f \u043a\u043b\u0430\u0432\u0438\u0448\u0430 \u043d\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u043b\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0435\u0439         \/\/ \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0430, \u0442\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043a\u043e\u0434 \u0443\u0441\u043b\u043e\u0432\u0438\u044f, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u043c          \/\/ \u0433\u043e\u0440\u044f\u0447\u0443\u044e \u043a\u043b\u0430\u0432\u0438\u0448\u0443 (\u043d\u0435 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0432\u0434\u0430\u0432\u044f\u0442\u0441\u044f \u0432 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438          \/\/ \u043d\u0430\u043c \u0441\u0435\u0439\u0447\u0430\u0441 \u044d\u0442\u043e \u043d\u0435 \u043d\u0443\u0436\u043d\u043e)         if (!TranslateAccelerator(msg.hwnd, hAccelTable, &amp;msg))         {             \/\/ \u043a\u043e\u0434 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043d\u0430\u0436\u0430\u0442\u0438\u0439 \u0433\u043e\u0440\u044f\u0447\u0438\u0445 \u043a\u043b\u0430\u0432\u0438\u0448             \/\/ \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u044b\u043b\u0438 \u0443\u043a\u0430\u0437\u0430\u043d\u044b \u0432 \u0441\u0445\u0435\u043c\u0435, \u043a\u043e\u0442\u043e\u0440\u0430\u044f             \/\/ \u0431\u044b\u043b\u0430 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u0430 \u0438\u0437 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0440\u0430\u043d\u0435\u0435             TranslateMessage(&amp;msg);             DispatchMessage(&amp;msg);         }     }     \/\/ \u044d\u0442\u043e \u043a\u043e\u043d\u0435\u0446 \u0442\u0435\u043b\u0430 \u0446\u0438\u043a\u043b\u0430      \/\/ \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438     \/\/ \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u043e\u0434\u0441\u0442\u0430\u043d\u043e\u0432\u043e\u0447\u043d\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435      \/\/ (\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u0441\u0442\u0430\u0435\u0442 \u0432 \u043d\u0438\u043a\u0443\u0434\u0430) \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b      \/\/ \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u044b GetMessage     return (int) msg.wParam; }    \/\/ \/\/  \u0424\u0423\u041d\u041a\u0426\u0418\u042f: MyRegisterClass() \/\/ \/\/  \u0426\u0415\u041b\u042c: \u0420\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u0442 \u043a\u043b\u0430\u0441\u0441 \u043e\u043a\u043d\u0430. \/\/  \/\/ \u0432\u044b\u0448\u0435 \u0443\u0436\u0435 \u0431\u044b\u043b\u0430 \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u0442\u0430 \u044d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f, \u043e\u043d\u0430 \u0430\u0434\u0430\u043f\u0442\u0438\u0440\u0443\u0435\u0442 \/\/ \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043d\u0430\u0448\u0443 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u0432\u043e\u0442, \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0441\u0430\u043c\u043e  \/\/ \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u044d\u0442\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043e\u043d\u043e \u043d\u0430\u043c \u043d\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e, \u0434\u0432\u0438\u0433\u0430\u0435\u043c\u0441\u044f \u0434\u0430\u043b\u044c\u0448\u0435 ATOM MyRegisterClass(HINSTANCE hInstance) {     \/\/ \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043e\u043a\u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b     WNDCLASSEXW wcex;      wcex.cbSize = sizeof(WNDCLASSEX);      wcex.style          = CS_HREDRAW | CS_VREDRAW;     wcex.lpfnWndProc    = WndProc;     wcex.cbClsExtra     = 0;     wcex.cbWndExtra     = 0;     wcex.hInstance      = hInstance;     wcex.hIcon          = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_WINDOWSPROJECT2));     wcex.hCursor        = LoadCursor(nullptr, IDC_ARROW);     wcex.hbrBackground  = (HBRUSH)(COLOR_WINDOW+1);     wcex.lpszMenuName   = MAKEINTRESOURCEW(IDC_WINDOWSPROJECT2);     wcex.lpszClassName  = szWindowClass;     wcex.hIconSm        = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL));      return RegisterClassExW(&amp;wcex); }  \/\/ \/\/   \u0424\u0423\u041d\u041a\u0426\u0418\u042f: InitInstance(HINSTANCE, int) \/\/ \/\/   \u0426\u0415\u041b\u042c: \u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442 \u043c\u0430\u0440\u043a\u0435\u0440 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430 \u0438 \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u0433\u043b\u0430\u0432\u043d\u043e\u0435 \u043e\u043a\u043d\u043e \/\/ \/\/   \u041a\u041e\u041c\u041c\u0415\u041d\u0422\u0410\u0420\u0418\u0418: \/\/ \/\/        \u0412 \u044d\u0442\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043c\u0430\u0440\u043a\u0435\u0440 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u0432 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439, \u0430 \u0442\u0430\u043a\u0436\u0435 \/\/        \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f \u0438 \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u0433\u043b\u0430\u0432\u043d\u043e\u0435 \u043e\u043a\u043d\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b. \/\/  \/\/ \u044f \u0434\u0443\u043c\u0430\u044e \u0438\u0437 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432 \u043f\u043e\u043d\u044f\u0442\u043d\u043e, \u0434\u043b\u044f \u0447\u0435\u0433\u043e \u044d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \/\/ \u0442\u0430\u043a \u0436\u0435 \u0432\u044b\u0448\u0435 \u0431\u044b\u043b\u043e \u0441\u043a\u0430\u0437\u0430\u043d\u043e \u043e\u0431 \u044d\u0442\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0435\u0435 \u0442\u043e\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) {    hInst = hInstance; \/\/ \u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043c\u0430\u0440\u043a\u0435\u0440 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430 \u0432 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439     \/\/ \u0440\u0430\u0437\u0432\u0435 \u0447\u0442\u043e \u0432\u043e\u0442 \u043a\u043b\u044e\u0447\u0435\u0432\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043e\u043a\u043d\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f    \/\/ CreateWindow (\u0441 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u043e\u043c W, \u0442\u043e \u0435\u0441\u0442\u044c \u043e\u0434\u043d\u0430 \u0438\u0437 \u0432\u0430\u0440\u0438\u0430\u0446\u0438\u0439 \u044d\u0442\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438)    \/\/ \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043d\u0430 \u043c\u0435\u0441\u0442\u043e \u0441\u0432\u043e\u0435\u0433\u043e \u0432\u044b\u0437\u043e\u0432\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u044b \u0441\u0440\u0430\u0437\u0443    \/\/ \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u0443\u0435\u043c \u0441 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 hWnd    HWND hWnd = CreateWindowW(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,       CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, nullptr, nullptr, hInstance, nullptr);     \/\/ \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0443\u0441\u043b\u043e\u0432\u0438\u0435, \u0435\u0441\u043b\u0438 \"\u043d\u0435 hWnd\" (\u0442\u043e \u0435\u0441\u0442\u044c    \/\/ \u043d\u0435\u0442 \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430) \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c FALSE    \/\/ \u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u0435\u043c \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 (\u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e    \/\/ return \u043f\u043e\u043c\u0438\u043c\u043e \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u043c\u0435\u0441\u0442\u043e \u0432\u044b\u0437\u043e\u0432\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438,    \/\/ \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0438\u0432\u0430\u0435\u0442 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435 \u044d\u0442\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438    if (!hWnd)    {       return FALSE;    }     \/\/ \u043f\u043e\u0441\u043b\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043e\u043a\u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0434\u043b\u044f \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f    \/\/ \u043e\u043a\u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0438 \u0435\u0433\u043e \u043f\u0435\u0440\u0435\u0440\u0438\u0441\u043e\u0432\u043a\u0438    ShowWindow(hWnd, nCmdShow);    UpdateWindow(hWnd);     \/\/ \u0435\u0441\u043b\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u0435 \u043d\u0435 \u0441\u0440\u0430\u0431\u043e\u0442\u0430 \u0438 \u0434\u043e\u0448\u043b\u0438 \u0434\u043e \u044d\u0442\u043e\u0433\u043e    \/\/ \u043c\u0435\u0441\u0442\u0430 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u044f\u0435\u043c TRUE \u0442\u0430\u043a \u043a\u0430\u043a \u043f\u043e \u043b\u043e\u0433\u0438\u043a\u0435    \/\/ \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0432\u044b\u043f\u043e\u043b\u0435\u043d\u0438\u043b\u0430\u0441\u044c \u0431\u0435\u0437 \u0441\u0431\u043e\u0435\u0432    return TRUE; }  \/\/ \/\/  \u0424\u0423\u041d\u041a\u0426\u0418\u042f: WndProc(HWND, UINT, WPARAM, LPARAM) \/\/ \/\/  \u0426\u0415\u041b\u042c: \u041e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0432 \u0433\u043b\u0430\u0432\u043d\u043e\u043c \u043e\u043a\u043d\u0435. \/\/ \/\/  WM_COMMAND  - \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043c\u0435\u043d\u044e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \/\/  WM_PAINT    - \u041e\u0442\u0440\u0438\u0441\u043e\u0432\u043a\u0430 \u0433\u043b\u0430\u0432\u043d\u043e\u0433\u043e \u043e\u043a\u043d\u0430 \/\/  WM_DESTROY  - \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043e \u0432\u044b\u0445\u043e\u0434\u0435 \u0438 \u0432\u0435\u0440\u043d\u0443\u0442\u044c\u0441\u044f \/\/ \/\/  \/\/ \u0435\u0449\u0435 \u043e\u0434\u043d\u0430 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f, \u044d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u043e\u0434\u0432\u044f\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \/\/ \u043a \u043d\u0430\u0448\u0435\u0439 \u0444\u043e\u0440\u043c\u0435 (\u043e\u043a\u043d\u0443 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b), \u0438 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u043d\u0430\u0448\u0435\u0439 \u0444\u043e\u0440\u043c\u044b (\u043a \u043f\u0440\u0438\u043c\u0435\u0440\u0443 \/\/ \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u043e\u043a\u043d\u0430, \u0442\u044b\u043a \u043c\u044b\u0448\u043a\u043e\u0439, \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c \u0444\u043e\u0440\u043c\u044b \u0438 \u0442\u0434) \/\/ \u044d\u0442\u043e \u043e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043d\u0430\u0448\u0435\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0437\u0430 \u043a\u0430\u043a\u0438\u0435 \u043d\u0438\u0431\u0443\u0434\u044c \u0441\u043e\u0431\u044b\u0442\u0438\u044f LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) {     \/\/ \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0430\u0441\u0441\u043e\u0446\u0438\u0430\u0446\u0438\u044e \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0430 \u043e\u043a\u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b     \/\/ \u0441 \u043d\u0430\u0448\u0435\u0439 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0445\u0440\u0430\u043d\u0438\u043c     \/\/ \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440     Form1 = hWnd;      \/\/ switch \u0440\u0430\u0437\u043d\u043e\u0432\u0438\u0434\u043d\u043e\u0441\u0442\u044c \u0443\u0441\u043b\u043e\u0432\u0438\u044f, \u043d\u0435 \u0441\u043e\u0432\u0441\u0435\u043c \u043f\u043e\u043d\u044f\u0442\u043d\u043e     \/\/ \u0446\u0435\u043b\u0435\u0441\u043e\u043e\u0431\u0440\u0430\u0437\u043d\u043e\u0441\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u043e\u0433\u043e     \/\/ \u0443\u0441\u043b\u043e\u0432\u043d\u043e\u0433\u043e \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u0430, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0442\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435      \/\/ \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u043e\u043f\u0438\u0441\u0430\u0442\u044c \u0438 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0435\u0439 if (\u043d\u043e \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0443     \/\/ \u0447\u0442\u043e \u043d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0442\u043e \u0447\u0442\u043e switch \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \"\u043a\u0430\u043d\u043e\u043d\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439      \/\/ \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0435\u0439, \u043e\u043d\u0430 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u043e\u0434\u043d\u043e \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435     \/\/ \u0443\u0441\u043b\u043e\u0432\u0438\u044f, \u0437\u0430\u0442\u0435\u043c \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u0435\u0442, \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u0441\u0442\u044c,     \/\/ \u0438\u0437\u0431\u0435\u0433\u0430\u044f \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0445 \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043d\u0438\u0439 \u043d\u0430 \u043e\u0434\u043d\u0443 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 message)      \/\/ \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u0435 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f,     \/\/ \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u0438\u0437 GetMessage, \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438     \/\/ \u0441 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u043c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u044b\u043c message (\u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442\u0441\u044f     \/\/ \u0432 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0438), \u0438 \u0435\u0441\u043b\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 message \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442     \/\/ \u043a\u0430\u043a\u043e\u0439 \u043b\u0438\u0431\u043e \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 case, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u044d\u0442\u043e\u0442 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442 \u043a\u043e\u0434\u0430     switch (message)     {         \/\/ \u043d\u0435 \u0441\u0442\u043e\u0438\u0442 \u0437\u0430\u0431\u044b\u0432\u0430\u0442\u044c \u043f\u0440\u043e \u0437\u0430\u0436\u0430\u0442\u0443\u044e Ctrl \u0438 \u043b\u0435\u0432\u044b\u0439 \u0442\u044b\u043a \u043c\u044b\u0448\u043a\u043e\u0439         \/\/ \u044d\u0442\u043e \u043f\u0435\u0440\u0435\u043a\u0438\u043d\u0435\u0442 \u0432 \u0444\u0430\u0439\u043b, \u0433\u0434\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u043e \u044d\u0442\u043e \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e                   \/\/ WM_COMMAND \u044d\u0442\u043e \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u043e\u0435 \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043a\u043e\u043c\u0430\u043d\u0434         \/\/ (\u043a \u043f\u0440\u0438\u043c\u0435\u0440\u0443 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u0447\u0435\u0440\u0435\u0437 SendMessage), \u0441\u0430\u043c\u0430 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f         \/\/ \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u0435\u0442 \u0443\u0441\u043b\u043e\u0432\u0438\u0435, \u0435\u0441\u043b\u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 message, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442         \/\/ \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u043c\u0443 \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0433\u043e \u0441\u043b\u043e\u0432\u0430 WM_COMMAND, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0431\u043b\u043e\u043a \u043a\u043e\u0434\u0430 \u0432\u043d\u0443\u0442\u0440\u0438         \/\/ \u0441\u043a\u043e\u0431\u043e\u0447\u0435\u043a (\u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435, \u0447\u0438\u0442\u0430\u0439 \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u0434\u0430\u043d\u043d\u044b\u0435, \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0441          \/\/ \u044d\u0442\u0438\u043c \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u043c \u0441\u043b\u043e\u0432\u043e\u043c)         case WM_COMMAND:         {             \/\/ \u0442\u0443\u0442 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u043c\u0435\u043d\u044e             \/\/ \u0441\u0430\u043c\u0438 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u0432 \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u0445 \u0444\u0430\u0439\u043b\u0430,              \/\/\u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438             int wmId = LOWORD(wParam);             \/\/ \u0420\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c \u0432\u044b\u0431\u043e\u0440 \u0432 \u043c\u0435\u043d\u044e:             switch (wmId)             {             case IDM_ABOUT:                 DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);                 break;             case IDM_EXIT:                 DestroyWindow(hWnd);                 break;             default:                 return DefWindowProc(hWnd, message, wParam, lParam);             }         }         break;          \/\/ \u0443\u0441\u043b\u043e\u0432\u0438\u0435, \u0435\u0441\u043b\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 message \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0442 WM_PAINT,         \/\/ \u0438\u043b\u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u044e \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u043a\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043a\u043e\u0434 \u0432\u043d\u0443\u0442\u0440\u0438     case WM_PAINT:         {             \/\/ \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0442\u0438\u043f\u0430 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b             \/\/ \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f             PAINTSTRUCT ps;              \/\/ \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0442\u0438\u043f\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f             \/\/ \u0438 \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u0443\u0435\u043c \u0441 \u043d\u0435\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438             \/\/ BeginPaint (\u0432 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u0445 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u043c             \/\/ \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043d\u0430\u0448\u0435\u0433\u043e \u043e\u043a\u043d\u0430, \u0438 \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u0443\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435             \/\/ \u0438\u0437 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438             HDC hdc = BeginPaint(hWnd, &amp;ps);             \/\/ TODO: \u0414\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u0441\u044e\u0434\u0430 \u043b\u044e\u0431\u043e\u0439 \u043a\u043e\u0434 \u043f\u0440\u043e\u0440\u0438\u0441\u043e\u0432\u043a\u0438, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0439 HDC...              \/\/ \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u0435\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f,             \/\/ \u0432\u044b\u0437\u044b\u0432\u0430\u044f \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e,             \/\/ \u0434\u0430\u043d\u043d\u044b\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u043c \u0445\u0438\u0442\u0440\u043e\u0443\u043c\u043d\u043e \u0437\u0430\u0442\u043e\u043f\u0430\u0440\u0435\u043d             \/\/ \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u043d\u0430 \u0444\u043e\u0440\u043c\u0435,             \/\/ \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 BeginPaint, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u0441\u044f,             \/\/ \u043f\u043e\u0441\u043b\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438 EndPaint             EndPaint(hWnd, &amp;ps);         }         break;          \/\/ \u0435\u0441\u043b\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f message          \/\/ \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 WM_DESTROY         \/\/ \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043a\u043e\u0434 \u0434\u043b\u044f \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f         \/\/ \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f     case WM_DESTROY:         PostQuitMessage(0);         break;          \/\/ \u0435\u0441\u043b\u0438 message \u043d\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439         \/\/ (\u0438\u043b\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043d\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u043d\u0438 \u043e\u0434\u043d\u043e\u043c\u0443 \u0438\u0437 \u0443\u0441\u043b\u043e\u0432\u0438\u0439)         \/\/ \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u0434\u0440\u0443\u0433\u043e\u0439 \u043a\u043e\u0434, \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0443\u0435\u0442 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443         \/\/ \"\u043d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0433\u043e\" message, \u043e\u043d\u0430 \u043d\u0430\u0441 \u0442\u043e\u0436\u0435 \u043f\u043e\u043a\u0430 \u043d\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u0435\u0442         \/\/ (\u043d\u043e \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f, \u0442\u0430\u043a \u043a\u0430\u043a \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0435\u0435 \"\u043f\u0435\u0440\u0435\u043e\u043f\u0438\u0441\u0430\u0442\u044c\",         \/\/ \u0434\u043b\u044f \u043a\u0430\u043a\u0438\u0445-\u043b\u0438\u0431\u043e \u043d\u0430\u0448\u0438\u0445 \u0437\u0430\u0434\u0430\u0447)     default:         return DefWindowProc(hWnd, message, wParam, lParam);     }      \/\/ \u0432\u0435\u0440\u043d\u0435\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438 0     \/\/ \u043c\u043e\u0436\u043d\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043d\u0430 1 \u0447\u0442\u043e\u0431\u044b \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u0442\u044c      \/\/ \u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u0438\u0441\u0445\u043e\u0434\u044f     \/\/ \u0438\u0437 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u044d\u0442\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438     \/\/ (\u0442\u043e \u0435\u0441\u0442\u044c \u0435\u0441\u043b\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044f WndProc \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u043b\u0430\u0441\u044c     \/\/ \u0438 \u043d\u0435 \u0432\u0435\u0440\u043d\u0443\u043b\u0430 \u043d\u0430 \u043c\u0435\u0441\u0442\u043e \u0432\u044b\u0437\u043e\u0432\u0430 1, \u0437\u043d\u0430\u0447\u0438\u0442     \/\/ \u043a\u0430\u043a\u043e\u0435 \u0442\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e     \/\/ \u043f\u0440\u043e\u0441\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e (\u0432 \u043d\u0430\u0447\u0430\u043b\u0435     \/\/ \u0431\u043b\u043e\u043a\u0430 \u043a\u043e\u0434\u0430, \u0441 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0447\u0442\u043e     \/\/ \u043d\u0438\u0431\u0443\u0434\u044c (\u043a \u043f\u0440\u0438\u043c\u0435\u0440\u0443 0), \u0438 \u0435\u0441\u043b\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0441\u043c\u043e\u0433\u043b\u0430     \/\/ \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0441\u0432\u043e\u0439 \u043a\u043e\u0434 \u0434\u043e \u044d\u0442\u043e\u0439 \u043f\u043e\u0437\u0438\u0446\u0438\u0438, \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u044f\u0435\u043c 1     return 0; }  \/\/ \u041e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u0434\u043b\u044f \u043e\u043a\u043d\u0430 \"\u041e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435\".  \/\/ \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0435 \u0434\u043b\u044f \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u043e\u043a\u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \/\/ \u0430 \u0434\u043b\u044f \u0434\u0438\u0430\u043b\u043e\u0433\u0430 \"\u041e\u0431 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435\", \u0435\u0433\u043e \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0442\u044c \u0441\u043c\u044b\u0441\u043b\u0430 \u043d\u0435\u0442 INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) {     UNREFERENCED_PARAMETER(lParam);     switch (message)     {     case WM_INITDIALOG:         return (INT_PTR)TRUE;      case WM_COMMAND:         if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)         {             EndDialog(hDlg, LOWORD(wParam));             return (INT_PTR)TRUE;         }         break;     }     return (INT_PTR)FALSE; } <\/code><\/pre>\n<\/p>\n<\/div>\n<\/details>\n<p>\u0427\u0442\u043e\u0436\u0436\u0436 \u043d\u0430\u0434\u0435\u044e\u0441\u044c \u0441\u0442\u0430\u043b\u043e \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u043e\u043d\u044f\u0442\u043d\u0435\u0435, \u043c\u043e\u0436\u043d\u043e \u0432\u00a0\u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0435 \u0441\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043c\u043e\u0439 \u043a\u043e\u0434, \u0438 \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u0438\u043c \u043a\u043e\u0434 \u0432\u00a0\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435. \u0422\u0435\u043f\u0435\u0440\u044c \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0447\u0442\u043e\u00a0\u043d\u0438 \u0431\u0443\u0434\u044c \u0441\u0434\u0435\u043b\u0430\u0435\u043c, \u043a\u00a0\u043f\u0440\u0438\u043c\u0435\u0440\u0443 \u0432\u044b\u0437\u043e\u0432\u0435\u043c \u0433\u043e\u0442\u043e\u0432\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u043e\u0437\u0434\u0430\u0441\u0442 \u0438 \u043e\u0442\u043e\u0431\u0440\u0430\u0437\u0438\u0442 \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432\u043e\u0435 \u043e\u043a\u043d\u043e \u0441\u00a0\u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435\u043c.<\/p>\n<p>\u0412\u043e\u0442 \u043a\u043e\u0434 \u044d\u0442\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438:<\/p>\n<pre><code class=\"cpp\">MessageBox(NULL, TEXT(\"\u0422\u0435\u043a\u0441\u0442\"), TEXT(\"\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a\"), 0);<\/code><\/pre>\n<p>\u041e\u043d\u0430 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0432\u00a0\u0441\u0435\u0431\u044f \u0440\u0430\u0437\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435, \u0438 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0442\u0435\u043a\u0441\u0442 \u0432\u00a0\u043c\u0430\u043b\u0435\u043d\u044c\u043a\u043e\u043c \u043e\u043a\u043e\u0448\u043a\u0435. \u0412\u0430\u0436\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442! \u0414\u043b\u044f\u00a0\u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0430 \u043a\u043e\u0434\u0430 (\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430) \u0432\u0435\u0441\u044c \u0442\u0435\u043a\u0441\u0442 \u0432\u043d\u0443\u0442\u0440\u0438 \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u00ab\u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u0441\u043b\u043e\u0432\u0430\u00bb, \u0441\u00a0\u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u0447\u0442\u043e\u00a0\u043d\u0438 \u0431\u0443\u0434\u044c, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u0442\u0435\u043a\u0441\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0438 \u043a\u0430\u043a\u00a0\u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u043a\u00a0\u043a\u0430\u043a \u00ab\u0442\u0435\u043a\u0441\u0442\u00bb, \u0435\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u043c\u0435\u0449\u0430\u0442\u044c \u0432 \u00ab\u00ab \u0434\u0432\u043e\u0439\u043d\u044b\u0435 \u043a\u0430\u0432\u044b\u0447\u043a\u0438.<\/p>\n<p>\u0412\u0435\u0440\u043d\u0435\u043c\u0441\u044f \u043a\u00a0\u043a\u043e\u0434\u0443, \u043d\u0430\u0439\u0434\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0441\u00a0\u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c \u00abWndProc\u00bb \u0438 \u043f\u0435\u0440\u0435\u0434\u0435\u043b\u0430\u0435\u043c \u0435\u0435, \u0432\u043d\u0443\u0442\u0440\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u044f \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u043d\u043e\u0432\u044b\u0439 \u0431\u043b\u043e\u0447\u043e\u043a \u0443\u0441\u043b\u043e\u0432\u0438\u044f \u0434\u043b\u044f\u00a0\u0441\u043e\u0431\u044b\u0442\u0438\u044f \u043d\u0430\u0436\u0430\u0442\u0438\u044f \u043b\u0435\u0432\u043e\u0439 \u043a\u043d\u043e\u043f\u043a\u0438 \u043c\u044b\u0448\u0438:<\/p>\n<pre><code class=\"cpp\">        case WM_LBUTTONDOWN:         {          }         break;<\/code><\/pre>\n<p>\u0412\u043e\u0442 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a\u0430\u044f \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f, \u044d\u0442\u043e \u0430\u043d\u0430\u043b\u043e\u0433 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u00a0\u2014 \u0435\u0441\u043b\u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 message \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u043c, \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c \u0441\u00a0\u043a\u043b\u043e\u0447\u0438\u043c\u044b\u043c \u0441\u043b\u043e\u0432\u043e\u043c WM_LBUTTONDOWN, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043a\u043e\u0434 \u0432\u043d\u0443\u0442\u0440\u0438, \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u043c \u0441\u043b\u043e\u0432\u043e\u043c break \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u0435\u043c \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 switch.<\/p>\n<figure class=\"float full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/3f7\/c22\/659\/3f7c22659ce0c85b0d99f3c9de56c80a.png\" width=\"587\" height=\"441\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/3f7\/c22\/659\/3f7c22659ce0c85b0d99f3c9de56c80a.png\"\/><\/figure>\n<p>\u0420\u0430\u0437\u043c\u0435\u0441\u0442\u0438\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u043f\u043e\u043a\u0430\u0437\u0430 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0432\u043d\u0443\u0442\u0440\u0438 \u044d\u0442\u043e\u0433\u043e \u0431\u043b\u043e\u043a\u0430 (\u043c\u0435\u0436\u0434\u0443 {} \u0443\u00a0\u0442\u0435\u043b\u0430 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 switch), \u0430\u00a0\u044d\u0442\u043e\u0442 \u0431\u043b\u043e\u043a \u0432\u00a0\u0444\u0443\u043d\u043a\u0446\u0438\u0438 WndProc. \u0414\u0430\u043b\u0435\u0435 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043c \u0442\u043a\u043d\u0435\u043c \u043c\u044b\u0448\u043a\u043e\u0439 \u0432\u00a0\u043b\u044e\u0431\u043e\u043c \u043c\u0435\u0441\u0442\u0435 \u043e\u043a\u043d\u0430 \u043d\u0430\u0448\u0435\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u0438 \u0443\u0432\u0438\u0434\u0438\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:<\/p>\n<p>\u00a0<\/p>\n<p>\u041e\u0442\u043b\u0438\u0447\u043d\u043e \u043c\u044b \u0442\u0435\u043f\u0435\u0440\u044c \u0442\u044b \u00ab\u043f\u043e\u043f\u044b\u0442\u043a\u0430 \u0432\u00a0\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u0430\u00bb!<\/p>\n<h2>\u042d\u0442\u0430\u043f \u21162 \u0441\u0430\u043c\u043e\u0435 \u0441\u043b\u043e\u0436\u043d\u043e\u0435 \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u043e\u0441\u044c, \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0410\u0414<\/h2>\n<figure class=\"float full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/6a7\/9eb\/5f1\/6a79eb5f1951586a428f94c698c2a485.png\" width=\"875\" height=\"684\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/6a7\/9eb\/5f1\/6a79eb5f1951586a428f94c698c2a485.png\"\/><\/figure>\n<p>\u041f\u0440\u0430\u0432\u044b\u043c \u0442\u044b\u043a\u043e\u043c \u043f\u043e\u00a0\u043f\u0430\u043f\u043a\u0435 \u0441\u00a0\u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c\u0438 \u0444\u0430\u0439\u043b\u0430\u043c\u0438 (\u0432 \u043e\u0431\u043e\u0437\u0440\u0435\u0432\u0430\u0442\u0435\u043b\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0439) \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u043d\u043e\u0432\u044b\u0439 \u0444\u0430\u0439\u043b, \u0432\u00a0\u043c\u043e\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u044d\u0442\u043e \u00abSource.cpp\u00bb, \u0432\u00a0\u0432\u0430\u0448\u0435\u043c \u0434\u0443\u043c\u0430\u044e \u0442\u043e\u0436\u0435 (\u043d\u0435 \u0441\u0443\u0442\u044c \u043a\u0430\u043a\u00a0\u0432\u0430\u0436\u043d\u043e). \u041c\u044b \u0441\u043e\u0437\u0434\u0430\u043b\u0438 \u043d\u043e\u0432\u044b\u0439 \u0444\u0430\u0439\u043b, \u043e\u043d \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e \u043f\u0443\u0441\u0442\u043e\u0439, \u043d\u043e\u00a0\u043c\u044b \u0441\u0435\u0439\u0447\u0430\u0441 \u043d\u0430\u043f\u043e\u043b\u043d\u0438\u043c \u0435\u0433\u043e (\u0440\u0443\u0447\u043a\u0430\u043c\u0438, \u043d\u0435\u00a0\u043a\u043e\u043f\u0438\u0440\u0443\u044e \u043c\u043e\u0439 \u043a\u043e\u0434, \u044d\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u0432\u0430\u0436\u043d\u043e!).<\/p>\n<p>\u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u00ab\u0441\u0432\u043e\u0439 \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445\u00bb, \u0430\u00a0\u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u043c\u0441\u044f \u043f\u043e\u0431\u043b\u0438\u0436\u0435:<\/p>\n<details class=\"spoiler\">\n<summary>\u0420\u0430\u0437\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0439 \u043c\u0435\u043d\u044f \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"cpp\">\/\/ \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u043c \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 #pragma once  #include \"stddef.h\" #include &lt;string>  #include &lt;Windows.h> #include &lt;Strsafe.h>  \/\/ \u043d\u0435 \u0431\u0443\u0434\u0435\u043c \u0437\u0430\u043c\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0442\u0441\u044f, \u0441++ \u043e\u0447\u0435\u043d\u044c \u0441\u0442\u0430\u0440\u044b\u0439 \u044f\u0437\u044b\u043a \/\/ \u044d\u0442\u043e \u0435\u0449\u0435 \u043e\u0434\u043d\u0430 \u0440\u0430\u0437\u043d\u043e\u0432\u0438\u0434\u043d\u043e\u0441\u0442\u044c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a \/\/ (\u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u043d\u0435 \u0432\u0435\u0441\u044c \u0444\u0430\u0439\u043b, \u0430 \u043a\u0443\u0441\u043e\u043a \u0438\u0437 \u0444\u0430\u0439\u043b\u0430) using namespace std;  \/\/ \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043d\u0430\u0448 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445, \/\/ \u0447\u0442\u043e \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043d\u0430\u0448\u0435\u0433\u043e \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \/\/ (\u0434\u043b\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430) class MyVariableUniversalType {  \/\/ \u043e\u043f\u0438\u0448\u0435\u043c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \/\/ \u0440\u0430\u0437\u043d\u044b\u0445 \u0442\u0438\u043f\u043e\u0432 \u0434\u0430\u043d\u043d\u044b\u0445, \u0432\u043d\u0443\u0442\u0440\u0438 \u043d\u0430\u0448\u0435\u0433\u043e \/\/ \/\/ \u043c\u044b \u043e\u043f\u0438\u0448\u0435\u043c \u0438\u0445 \u0432 \"\u043f\u0440\u0438\u0432\u0430\u0442\u043d\u043e\u043c\" \u0431\u043b\u043e\u043a\u0435 \u043a\u043e\u0434\u0430 \/\/ \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u043d\u0430\u0448 \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445, \u0447\u0442\u043e\u0431\u044b \u043e\u043d\u0438 \/\/ \u0431\u044b\u043b\u0438 \u0432\u0438\u0434\u043d\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430\u0448\u0435\u043c\u0443 \u0442\u0438\u043f\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 \/\/ \u0438 \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0434\u0440\u0443\u0433\u0438\u043c private:  bool BooleanType; int IntegerType; string TextType;  \/\/ \/\/ \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435, \u044d\u0442\u043e \u043e\u043f\u0438\u0448\u0435\u043c \u0435\u0449\u0435 \u043e\u0434\u043d\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \/\/ \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 protected \u043f\u043e\u043a\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u0434\u0443\u043c\u0430\u0442\u044c, \/\/ \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0439\u0442\u0435 \u0442\u0430\u043a \u0436\u0435 \/\/ protected: \/\/ \u0442\u0430\u043a \u043a\u0430\u043a \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 LPCWSTR Long Pointer to Constant Wide String \/\/ \u043d\u0435 \u0441\u043e\u0432\u0441\u0435\u043c \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u0442\u0440\u043e\u043a\u0430 (\u043d\u0435 \u0441\u043e\u0432\u0441\u0435\u043c \"\u043a\u0430\u043d\u043e\u043d\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439\"),  \/\/ \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u0441\u0432\u043e\u0434\u043d\u044b\u0439 \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u0442\u0440\u043e\u043a\u0430 \u0438\u0437 \u0434\u0440\u0443\u0433\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438,  \/\/ \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u043b \u0441\u0432\u0435\u0440\u0445\u0443, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u043f\u0438\u0448\u0435\u043c \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u043e\u0440 \u0438\u0437 str::string \u0432 LPCWSTR \/\/ \u0432\u0434\u0430\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u043d\u0430 \u044d\u0442\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u043d\u0435 \u043d\u0443\u0436\u043d\u043e, \u0434\u0430\u043b\u044c\u0448\u0435 \u043c\u043e\u0436\u043d\u043e  \/\/ \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c LPWSTR TransformStringToWideString(string agrument1) {  \/\/ \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \/\/ \u0442\u0438\u043f\u0430 \u043c\u0443\u043b\u044c\u0442\u0438\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0441 \u043a\u043e\u0434\u0430\u043c\u0438 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 \/\/ (\u0441 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043c\u044b \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u0443\u0435\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f  \/\/ \u043d\u043e\u0432\u043e\u0433\u043e \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u0442\u0438\u043f\u0430 WCHAR), \u0434\u043b\u0438\u043d\u043d\u043e\u0439 \u0432  \/\/ \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 \u0438\u0437 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430, \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c\u043e\u0433\u043e  \/\/ \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438  \/\/ length (\u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u0439 \u0432 \u0442\u0438\u043f string) LPWSTR tmp_return = new WCHAR[agrument1.length()];  \/\/ \u0432\u044b\u0437\u043e\u0432\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u0443\u0435\u0442 \u043d\u0430\u0431\u043e\u0440 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 \u0441\u0442\u0440\u043e\u043a\u0438 \/\/ str::string \u0432 \u043d\u0443\u0436\u043d\u044b\u0439 \u043d\u0430\u043c \u043d\u0430\u0431\u043e\u0440 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432, \u0438 \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u043c\u0435\u0449\u0430\u0435\u0442 \u0435\u0433\u043e \/\/ \u0432 \u043c\u0443\u043b\u044c\u0442\u0438\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e, \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0432 \u0441\u0435\u0431\u044f \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0438, \/\/ \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u0441\u043f\u043e\u0441\u043e\u0431\u0430 \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u0442\u0435\u043a\u0441\u0442, \u0440\u0430\u0437\u043c\u0435\u0440 \u0432 \u0431\u0430\u0439\u0442\u0430\u0445, \/\/ \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 (\u0432 \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442), \u0434\u043b\u0438\u043d\u0443 \/\/ \u0432 \u0441\u0438\u043c\u0432\u043e\u043b\u0430\u0445 MultiByteToWideChar(CP_ACP, MB_ERR_INVALID_CHARS, agrument1.c_str(), agrument1.size(), tmp_return, agrument1.length());  \/\/ \u0438\u0437 \u0437\u0430 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0435\u0439 \u0442\u0438\u043f\u0430 LPWSTR \/\/ \u043a\u043e\u0434 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u0441\u0438\u043c\u0432\u043e\u043b\u0430 \u0434\u043e\u043b\u0436\u0435\u043d  \/\/ \u0431\u044b\u0442\u044c 0, \u044d\u0442\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u0442\u043e\u0433\u043e \u0447\u0442\u043e \/\/ \u044d\u0442\u043e \u043a\u043e\u043d\u0435\u0446 \u0442\u0435\u043a\u0441\u0442\u0430 tmp_return[agrument1.length()] = 0;  \/\/ \u0432\u0435\u0440\u043d\u0435\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435  return tmp_return; }  \/\/ \u0434\u0430\u043b\u0435\u0435 \u043e\u043f\u0438\u0448\u0435\u043c \u043e\u0431\u0449\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u0447\u0430\u0441\u0442\u0438 \u043d\u0430\u0448\u0435\u0433\u043e \/\/ \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 (\u0442\u043e \u0435\u0441\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e  \/\/ \u0432\u043d\u0443\u0442\u0440\u0438 \u043d\u0430\u0448\u0435\u0433\u043e \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445) public: LPWSTR TransformStringToWideString2(string agrument1) {  \/\/ \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \/\/ \u0442\u0438\u043f\u0430 \u043c\u0443\u043b\u044c\u0442\u0438\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0441 \u043a\u043e\u0434\u0430\u043c\u0438 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 \/\/ (\u0441 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043c\u044b \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u0443\u0435\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f  \/\/ \u043d\u043e\u0432\u043e\u0433\u043e \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u0442\u0438\u043f\u0430 WCHAR), \u0434\u043b\u0438\u043d\u043d\u043e\u0439 \u0432  \/\/ \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 \u0438\u0437 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430, \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c\u043e\u0433\u043e  \/\/ \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438  \/\/ length (\u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u0439 \u0432 \u0442\u0438\u043f string) LPWSTR tmp_return = new WCHAR[agrument1.length()];  \/\/ \u0432\u044b\u0437\u043e\u0432\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u0443\u0435\u0442 \u043d\u0430\u0431\u043e\u0440 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 \u0441\u0442\u0440\u043e\u043a\u0438 \/\/ str::string \u0432 \u043d\u0443\u0436\u043d\u044b\u0439 \u043d\u0430\u043c \u043d\u0430\u0431\u043e\u0440 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432, \u0438 \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u043c\u0435\u0449\u0430\u0435\u0442 \u0435\u0433\u043e \/\/ \u0432 \u043c\u0443\u043b\u044c\u0442\u0438\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e, \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0432 \u0441\u0435\u0431\u044f \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0438, \/\/ \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u0441\u043f\u043e\u0441\u043e\u0431\u0430 \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u0442\u0435\u043a\u0441\u0442, \u0440\u0430\u0437\u043c\u0435\u0440 \u0432 \u0431\u0430\u0439\u0442\u0430\u0445, \/\/ \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 (\u0432 \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442), \u0434\u043b\u0438\u043d\u0443 \/\/ \u0432 \u0441\u0438\u043c\u0432\u043e\u043b\u0430\u0445 MultiByteToWideChar(CP_ACP, MB_ERR_INVALID_CHARS, agrument1.c_str(), agrument1.size(), tmp_return, agrument1.length());  \/\/ \u0438\u0437-\u0437\u0430 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0435\u0439 \u0442\u0438\u043f\u0430 LPWSTR \/\/ \u043a\u043e\u0434 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u0441\u0438\u043c\u0432\u043e\u043b\u0430 \u0434\u043e\u043b\u0436\u0435\u043d  \/\/ \u0431\u044b\u0442\u044c 0, \u044d\u0442\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \/\/ \u044d\u0442\u043e \u043a\u043e\u043d\u0435\u0446 \u0442\u0435\u043a\u0441\u0442\u0430 tmp_return[agrument1.length()] = 0;  \/\/ \u0432\u0435\u0440\u043d\u0435\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435  return tmp_return; }  \/\/ \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043e\u0431\u0449\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0443\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \/\/ \u0442\u0438\u043f\u0430 LPCWSTR, \u0441 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u0443\u0435\u043c \/\/ \u043d\u0438\u0447\u0435\u0433\u043e (L \u0432\u043d\u0430\u0447\u0430\u043b\u0435 \u043d\u0443\u0436\u043d\u043e, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \/\/ \u0443 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 \u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0440\u0430\u0437\u043d\u044b\u0435 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0438) \/\/ \u0432\u043d\u0438\u043a\u0430\u0442\u044c \u0432 \u0434\u0435\u0442\u0430\u043b\u0438 \u043f\u043e\u043a\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u043e LPCWSTR LPCWSTRTextType = L\"\";  \/\/ \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u043e\u0434\u043d\u043e\u0438\u043c\u0435\u043d\u043d\u0443\u044e \u0441 \u043d\u0430\u0448\u0438\u043c \u0442\u0438\u043f\u043e\u043c \u0434\u0430\u043d\u043d\u044b\u0445, \/\/ \u0442\u0430\u043a\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u043f\u043e\u043f\u044b\u0442\u043a\u0435 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0439 \/\/ \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u043d\u0430\u0448\u0435\u0433\u043e \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 (\u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440, \u0438\u043b\u0438 \/\/ \u0438\u043d\u0438\u0446\u0438\u0438\u0440\u0443\u044e\u0449\u0438\u0439 \u0431\u043b\u043e\u043a), \u0432 \u043c\u043e\u043c\u0435\u043d\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0431\u0443\u0434\u0435\u043c \u043d\u0430\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043d\u0430\u0448\u0443 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \/\/ \u0431\u0430\u0437\u043e\u0432\u044b\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 (\u043b\u043e\u0436\u044c\u044e \u0434\u043b\u044f \u0442\u0438\u043f\u0430 \u0431\u0443\u043b\u0435\u0432\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445, -1 \u0434\u043b\u044f \u0447\u0438\u0441\u043b\u043e\u0432\u044b\u0445, \/\/ \u043d\u0438\u0447\u0435\u043c \u0434\u043b\u044f \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u044b\u0445) MyVariableUniversalType() { BooleanType = false; IntegerType = -1; TextType = \"\"; }  \/\/ \u0442\u0435\u043f\u0435\u0440\u044c \u0434\u043b\u044f \u0437\u0430\u043a\u0440\u0435\u043f\u043b\u0435\u043d\u0438\u044f \u0437\u043d\u0430\u043d\u0438\u0439 \u043e\u043f\u0438\u0448\u0435\u043c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \/\/ \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u0441\u0440\u0430\u0437\u0443 \u0432 \u043d\u0430\u0448\u0435\u043c \u0442\u0438\u043f\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 (\u0442\u043e \u0435\u0441\u0442\u044c \u0431\u0443\u0434\u0443\u0442 \/\/ \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0432 \u043a\u0430\u0436\u0434\u043e\u0439 \u043d\u043e\u0432\u043e\u0439 \u043a\u043e\u043f\u0438\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439), \u0431\u0435\u0437 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \/\/ \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u044d\u0442\u0438\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u043f\u043e \u043d\u043e\u0432\u044b\u0439  \/\/ \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0434\u043b\u044f \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \/\/ \u0431\u0443\u043b\u0435\u0432\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0432 \u0447\u0438\u0441\u043b\u043e\u0432\u0443\u044e int BooleanTypeToInteger(bool argument1) {  \/\/ \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0443\u0441\u043b\u043e\u0432\u0438\u0435, \u0435\u0441\u043b\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \/\/ \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0435\u043c\u043e\u0435 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 (\u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430) \/\/ \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0438\u0441\u0442\u0438\u043d\u0435, \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \/\/ \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c 1, \u0438\u043d\u0430\u0447\u0435 0 (\u0447\u0438\u0441\u043b\u043e\u0432\u044b\u0435 \u0430\u043d\u0430\u043b\u043e\u0433\u0438) if (argument1 = true) { return 1; } else { return 0; } }  \/\/ \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043e\u0431\u0440\u0430\u0442\u043d\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e bool IntegerTypeToBoolean(int argument1) {  \/\/ \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0443\u0441\u043b\u043e\u0432\u0438\u0435, \u0435\u0441\u043b\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \/\/ \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0435\u043c\u043e\u0435 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 (\u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430) \/\/ \u0431\u043e\u043b\u044c\u0448\u0435 0, \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0441 \/\/ \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u043e\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 true, \u0438\u043d\u0430\u0447\u0435 false if (argument1 > 0) { return true; } else { return false; } }  \/\/ \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0434\u043b\u044f \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f  \/\/ \u0431\u0443\u043b\u0435\u0432\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0432 \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u0443\u044e string BooleanTypeToString(bool argument1) {  \/\/ \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0443\u0441\u043b\u043e\u0432\u0438\u0435, \u0435\u0441\u043b\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \/\/ \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0435\u043c\u043e\u0435 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 (\u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430) \/\/ \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0438\u0441\u0442\u0438\u043d\u0435, \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \/\/ \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c \u0442\u0435\u043a\u0441\u0442 true, \u0438\u043d\u0430\u0447\u0435 false if (argument1 = true) { return \"true\"; } else { return \"false\"; } }  \/\/ \u0438 \u043e\u0431\u0440\u0430\u0442\u043d\u0443\u044e \/\/ \u0442\u0443\u0442 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0441\u043b\u043e\u0436\u043d\u0435\u0435, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \/\/ \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043c\u043d\u043e\u0433\u043e, \/\/ \u0438 \u043d\u0430\u0434\u043e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0438\u0445 \u0432\u0441\u0435 bool StringTypeToBoolean(string argument1) {  \/\/ \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u0443\u044e \/\/ \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e, \u0441\u0440\u0430\u0437\u0443 \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u0443\u0435\u043c \/\/ \u0441 \u043d\u0435\u0439 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 false, \u0447\u0442\u043e\u0431\u044b \/\/ \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0435\u0441\u043b\u0438 \u043d\u0438 \u043e\u0434\u043d\u043e \u0438\u0437 \u0443\u0441\u043b\u043e\u0432\u0438\u0439 \/\/ \u043d\u0435 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0432\u0435\u0440\u043d\u0443\u043b\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \/\/ \u0432 \u043c\u0435\u0441\u0442\u043e \u0432\u044b\u0437\u043e\u0432\u0430 bool tmp_return = \"false\";  \/\/ \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e (\u043c\u0443\u043b\u044c\u0442\u0438\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e, \u043c\u043d\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0432 \u043e\u0434\u043d\u043e\u0439) \/\/ \u0432 \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u043c \/\/ \u0432\u0441\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f true string true_variants[] { \"true\", \"True\", \"TRUE\", \"truE\", \"TRue\" \/* ... \u0438 \u0442\u0434 *\/ };  \/\/ \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0441\u0447\u0435\u0442\u0447\u0438\u043a \u0434\u043b\u044f \u0446\u0438\u043a\u043b\u0430 int a = 0;  \/\/ \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0441 \u043e\u0431\u0449\u0438\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u0432 \/\/ \u043c\u0443\u043b\u044c\u0442\u0438\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 size int b = true_variants->size();  \/\/ \u0438 \u0432 \u0446\u0438\u043a\u043b\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u043c \u043a\u0430\u0436\u0434\u043e\u0435 \u0438\u0437 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 true_variants \/\/ \u043d\u0430 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0435  while (a &lt; b) {  \/\/ \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0443\u0441\u043b\u043e\u0432\u0438\u0435, \u0435\u0441\u043b\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \/\/ \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0435\u043c\u043e\u0435 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 (\u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430) \/\/ \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043d\u0430\u0448\u0435\u043c\u0443 \u0442\u0435\u043e\u0440\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u043c\u0443 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e \/\/ \u0438\u0437 \u043c\u0443\u043b\u044c\u0442\u0438\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 (\u043a \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u043c\u0443 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e \u043c\u044b \/\/ \u043e\u0431\u0440\u0430\u0449\u0430\u0435\u043c\u0441\u044f \u043f\u043e \u0438\u043d\u0434\u0435\u043a\u0441\u0443 \u0437\u0430\u043f\u0438\u0441\u0438 [], \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0435\u0440\u0435\u043c \/\/ \u0438\u0437 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0441\u0447\u0435\u0442\u0447\u0438\u043a\u0430), \u0432\u043e \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \/\/ tmp_return \u043f\u043e\u043c\u0435\u0449\u0430\u0435\u043c true, \u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u0435\u043c \u0446\u0438\u043a\u043b if (argument1 == true_variants[a]) { tmp_return = true; a = b + 1; }  \/\/ \u043f\u043e\u0441\u043b\u0435 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u043e\u0432\u0442\u043e\u0440\u0430 \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0435\u043c \u0441\u0447\u0435\u0442\u0447\u0438\u043a \u043d\u0430 1 \/\/ \u0447\u0442\u043e\u0431\u044b \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043f\u0435\u0440\u0435\u0431\u0440\u0430\u0442\u044c \u0432\u0441\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b a = a + 1; }  \/\/ \u0432\u0435\u0440\u043d\u0435\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0438\u0437 \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 return tmp_return; }  \/\/ \/\/  \/\/ \u043d\u0435\u0447\u0442\u043e \u043f\u043e\u0434\u043e\u0431\u043d\u043e\u0435 \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0438 \u0434\u043b\u044f \u0447\u0438\u0441\u043b\u043e\u0432\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \/\/  \/\/  \/\/ \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u0440\u0430\u0441\u0442\u044f\u0433\u0438\u0432\u0430\u0442\u044c \u043a\u043e\u0434 \u0435\u0449\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u043e\u043f\u0438\u0448\u0435\u043c \/\/ \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u043a \u0434\u0430\u043d\u043d\u044b\u043c \u0432 \u043d\u0430\u0448\u0435\u043c \u0442\u0438\u043f\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \/\/ (\u0432 \u043a\u0430\u043d\u043e\u043d\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u044f\u0437\u044b\u043a\u0430\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0435\u0441\u0442\u044c \/\/ \u0442\u0430\u043a\u043e\u0435 \u043f\u043e\u043d\u044f\u0442\u0438\u0435 \u043a\u0430\u043a \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430, \u0432 \u044d\u0442\u043e\u043c \u043f\u043e\u0434\u0445\u043e\u0434\u0435 \u0441++ \/\/ \u043d\u0435\u0442 (\u044f\u0432\u043d\u043e), \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u043e\u043f\u0438\u0448\u0435\u043c \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \"\u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c\" \u0438  \/\/ \"\u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c\" \u0432 \u0432\u0438\u0434\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 (\u0441\u0435\u0439\u0447\u0430\u0441 \u043d\u0435\u043f\u043e\u043d\u044f\u0442\u043d\u043e \u0447\u0442\u043e \/\/ \u044d\u0442\u043e \u0438 \u043a\u0430\u043a \u044d\u0442\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u043e, \u0438 \u0443\u0434\u043e\u0431\u043d\u043e, \u043d\u043e \u0441\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c  \/\/ \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043f\u0440\u0438\u0434\u0435\u0442)   \/\/ \u043e\u043f\u0438\u0448\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0438\u0437 \u043d\u0430\u0448\u0435\u0433\u043e \u0442\u0438\u043f\u0430 \/\/ \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 LPCWSTR, \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \/\/ \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \u0443\u043a\u0430\u0436\u0435\u043c \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0443\u0436\u043d\u043e \/\/ \u043f\u0440\u0435\u0432\u0440\u0430\u0442\u0438\u0442\u044c \u0432 LPCWSTR \u0438 \u0432\u0435\u0440\u043d\u0443\u0442\u044c (\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u043c \/\/ \u0431\u0443\u0434\u0435\u043c \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u0447\u0435\u0442\u043a\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0439 \/\/ \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c LPCWSTR GetVariableValue(string call_back_type) {  \/\/ \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0443\u0441\u043b\u043e\u0432\u0438\u0435, \u0435\u0441\u043b\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440, \/\/ \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0435\u043c\u044b\u0439 \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \/\/ \u0441\u043b\u043e\u0432\u0443 boolean, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u0432\u043e\u0437\u0432\u0440\u0430\u0442 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430, \/\/ \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \/\/ \u0444\u0443\u043d\u043a\u0446\u0438\u0438 BooleanTypeToString, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \/\/ \u0431\u044b\u043b \u043f\u0435\u0440\u0435\u0434\u0430\u043d \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u0438\u0437 \u0441\u043a\u0440\u044b\u0442\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 BooleanType, \u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \/\/ \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438 BooleanTypeToString \u0431\u044b\u043b \u0441\u0440\u0430\u0437\u0443 \u043f\u0435\u0440\u0435\u0434\u0430\u043d \/\/ \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u044e TransformStringToWideString, \/\/ \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0443\u0436\u0435 \u043d\u0430 \u0441\u0432\u043e\u0435 \u043c\u0435\u0441\u0442\u043e \u0432\u0435\u0440\u043d\u0443\u043b\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 (\u0443\u0436\u0435 \u0441\u043e\u0432\u0435\u0439 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438  \/\/ \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430) \u043d\u0430 \u043c\u0435\u0441\u0442\u043e, \u0433\u0434\u0435 \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u0430  \/\/ \u0438\u0437 \u044d\u0442\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0438 \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e LPCWSTRTextType if (call_back_type == \"Boolean\") { LPCWSTRTextType = TransformStringToWideString( BooleanTypeToString(BooleanType) );  return TransformStringToWideString( BooleanTypeToString(BooleanType) ); }  \/\/ \u0441\u0434\u0435\u043b\u0430\u0435\u043c \u043d\u0435\u0447\u0442\u043e \u043f\u043e\u0434\u043e\u0431\u043d\u043e\u0435 \u0434\u043b\u044f \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 if (call_back_type == \"String\") { LPCWSTRTextType = TransformStringToWideString( TextType );  return TransformStringToWideString( TextType ); }  \/\/ \u0432\u0435\u0440\u043d\u0435\u043c \u043d\u0438\u0447\u0435\u0433\u043e, \u0435\u0441\u043b\u0438 \/\/ \u043d\u0438 \u043e\u0434\u043d\u043e \u0438\u0437 \u0443\u0441\u043b\u043e\u0432\u0438\u0439 \u043d\u0435 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e LPCWSTRTextType = L\"\"; return L\"\"; }  \/\/ \/\/ \/\/ \u0434\u0430\u043b\u0435\u0435 \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f  \/\/ \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0438\u0437 \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 LPCWSTRTextType, \/\/ \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0442\u0438\u043f, \/\/ \u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e, \u043d\u043e \u0442\u0430\u043a \u043a\u0430\u043a \u0442\u0443\u0442 \u0443\u0436\u0435 400 \/\/ \u0441\u0442\u0440\u043e\u0447\u0435\u043a \u043a\u043e\u0434\u0430 (\u0445\u043e\u0442\u044f \u044f \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043b \u0443\u043b\u043e\u0436\u0438\u0442\u044c\u0441\u044f \u0432 100)  \/\/ \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e \u043f\u043e\u0433\u0443\u0433\u043b\u0438\u0442\u044c \u043a\u0430\u043a \u0435\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \/\/ \/\/  };  \/\/ \u043a\u043b\u0430\u0441\u0441\u044b (\u0442\u0430\u043a \u043d\u0430\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u043d\u0430\u0448\u0438 \u0442\u0438\u043f\u044b \u0434\u0430\u043d\u043d\u044b\u0445), \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u044e\u0442 \/\/ \u0442\u0430\u043a\u043e\u0435 \u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u0430\u043a \u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0439, \u044d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442  \/\/ \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0439 \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445, \u043d\u043e \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \/\/ \u0437\u0430\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u0432\u0441\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \/\/ \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u0435\u043c \u044d\u0442\u043e\u0433\u043e, \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u044f \u0441\u043e\u0437\u0434\u0430\u044e MyChildrenUniversalType \/\/ \u0438 \u0447\u0435\u0440\u0435\u0437 : (\u0434\u0432\u043e\u0435\u0442\u043e\u0447\u0438\u0435) \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e \u0432 \u043a\u0430\u043a\u0443\u044e \u0441\u0435\u043a\u0446\u0438\u044e \u044d\u0442\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430 \/\/ \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u0432\u0441\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0438\u0437 \u043a\u043b\u0430\u0441\u0441\u0430 \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044f (\u044f \u0432\u044b\u0431\u0440\u0430\u043b private, \/\/ \u0447\u0442\u043e\u0431\u044b \u0432\u0441\u0435 \u043b\u0438\u0448\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043d\u0435 \u043c\u0435\u0448\u0430\u043b\u0438 \u043f\u0440\u0438 \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0438 \u043a \u044d\u0442\u043e\u043c\u0443 \u043a\u043b\u0430\u0441\u0441\u0443), \/\/ \u0434\u0430\u043b\u0435\u0435 \u0438\u0434\u0435\u0442 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043a\u043b\u0430\u0441\u0441\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0434\u043e\u043b\u0436\u0435\u043d \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u0435\u043c, \/\/ \u0442\u0430\u043a\u0438\u043c \u043f\u043e\u0434\u0445\u043e\u0434\u043e\u043c \u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e (\u044d\u0442\u043e \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u041e\u041e\u041f) \u043c\u043e\u0436\u043d\u043e \/\/ \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0443\u043f\u0440\u043e\u0441\u0442\u0438\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0434\u043b\u044f \u043a\u0440\u0443\u043f\u043d\u044b\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c, \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u044f \/\/ \u0443\u0436\u0435 \u0433\u043e\u0442\u043e\u0432\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0432 \u0434\u0440\u0443\u0433\u0438\u0435 \u043a\u043b\u0430\u0441\u0441\u044b, \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438\u0445 \u043a\u043e\u0433\u0434\u0430 \u043d\u0443\u0436\u043d\u043e class MyChildrenUniversalType : private MyVariableUniversalType { public:  \/\/ \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440 \u043a\u043b\u0430\u0441\u0441\u0430 \u043c\u043e\u0436\u043d\u043e \u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043f\u0443\u0441\u0442\u044b\u043c, \/\/ \u0445\u043e\u0442\u044f \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0434\u0430\u0436\u0435 \u043d\u0435 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u043d\u0438 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440, \/\/ \u043d\u0438 \u0434\u0435\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440 void MyVariableUniversalType() {  }  \/\/ \u0435\u0449\u0435 \u043e\u0434\u043d\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e \u043a\u043b\u0430\u0441\u0441\u0430 \/\/ \u044d\u0442\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u043f\u043e\u0434 \u043e\u0434\u043d\u0438\u043c \/\/ \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u043c \u0441\u043b\u043e\u0432\u043e\u043c (\u044d\u0442\u043e \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u0433\u0440\u0443\u0437\u043a\u0430), \/\/ \u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438 (\u043e\u0442 \u043d\u0430\u0431\u043e\u0440\u0430  \/\/ \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u044b\u043b\u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u044b \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u044e)  \/\/ \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0440\u0430\u0437\u043d\u044b\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u044f, \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u044f  \/\/ \u0441\u043e\u0437\u0434\u0430\u044e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0434\u043b\u044f \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \/\/ \u0442\u0435\u043a\u0441\u0442\u0430 (AnyTo), \u0438 \u0437\u0430\u0434\u0430\u044e \u0438\u043c \u0440\u0430\u0437\u043d\u044b\u0435 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b, \/\/ \u0447\u0442\u043e\u0431\u044b \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0432\u044b\u0437\u043e\u0432\u0430 \u044d\u0442\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0432 \u043a\u043e\u0434\u0435 \u043d\u0435 \/\/ \u0432\u043e\u0437\u0438\u0442\u0441\u044f \u0441 \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u0442\u0438\u043f\u0430\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u0445, \u043f\u044b\u0442\u0430\u044f\u0441\u044c \u0438\u0445 \/\/ \u043f\u043e\u0434\u0432\u0435\u0441\u0442\u0438 \u043f\u043e\u0434 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0435 \u043e\u0434\u043d\u043e\u0433\u043e \u043a \u0434\u0440\u0443\u0433\u043e\u043c\u0443 LPCWSTR AnyTo(string Any_std_string) {  \/\/ \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0444\u0443\u043d\u043a\u0446\u0438\u0438 TransformStringToWideString \/\/ \u0438\u0437 \u0434\u0440\u0443\u0433\u043e\u0433\u043e \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u0441\u0435\u043a\u0446\u0438\u0438 protected, \/\/ \u043e\u043d\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0430 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0432\u0441\u0435 \u0447\u0442\u043e \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432\u043d\u0443\u0442\u0440\u0438 \/\/ \u0441\u0435\u043a\u0446\u0438\u0438 \u043d\u0435 \u0431\u044b\u043b\u043e \u0432\u0438\u0434\u0438\u043c\u043e \u0434\u043b\u044f \u0432\u0441\u0435\u0445, \u043d\u043e \u0431\u044b\u043b\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e \u0434\u043b\u044f  \/\/ \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u0434\u043e\u0447\u0435\u0440\u043d\u0438\u0445 \u043a\u043b\u0430\u0441\u0441\u0430\u0445 return (LPCWSTR)TransformStringToWideString(Any_std_string); }  LPCWSTR AnyTo(LPCSTR Any_LPCSTR) { return (LPCWSTR)Any_LPCSTR; }  LPCWSTR AnyTo(char* Any_CHAR) { return (LPCWSTR)Any_CHAR; } }; <\/code><\/pre>\n<\/p>\n<\/div>\n<\/details>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c, \u043a\u043e\u0433\u0434\u0430 \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0431\u0430\u0437\u043e\u0432\u043e\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043e\u00a0\u0442\u043e\u043c, \u0447\u0442\u043e\u00a0\u0442\u0430\u043a\u043e\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435, \u0438 \u043a\u0430\u043a\u00a0\u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u043c\u043e\u0436\u0435\u043c \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u0442\u044c \u043a\u00a0\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044e \u0447\u0435\u0433\u043e\u2011\u043b\u0438\u0431\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0433\u043e, \u0430\u00a0\u0438\u043c\u0435\u043d\u043d\u043e \u043a\u043d\u043e\u043f\u043a\u0438 (\u043d\u043e, \u0435\u0441\u043b\u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043d\u0430\u0448 \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0439 Source.cpp \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u044e\u0449\u0438\u043c\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043c\u0438, \u043e\u043d \u0441\u0442\u0430\u043d\u0435\u0442 \u0432\u043f\u043e\u043b\u043d\u0435 \u0441\u0435\u0431\u0435 \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u043c, \u0430\u00a0\u0438\u043d\u043e\u0433\u0434\u0430 \u0434\u0430\u0436\u0435 \u043d\u0435\u0437\u0430\u043c\u0435\u043d\u0438\u043c\u044b\u043c).<\/p>\n<h2>\u042d\u0442\u0430\u043f \u21163 \u0430\u0434\u0430 \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435\u0442, \u0441\u0435\u0439\u0447\u0430\u0441 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0435 \u043e\u0441\u043c\u044b\u0441\u043b\u044f\u0435\u043c\u043e \u0441\u043b\u043e\u0436\u043d\u043e\u0435<\/h2>\n<p>\u0412\u00a0\u043d\u0430\u0447\u0430\u043b\u0435 \u0441\u0442\u0430\u0442\u044c\u0438 \u044f \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u043b \u043f\u0440\u0438\u043c\u0435\u0440 \u0441\u00a0\u043a\u043d\u043e\u043f\u043a\u043e\u0439, \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0435\u0435 \u0438 \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c, \u0434\u043b\u044f\u00a0\u044d\u0442\u043e\u0433\u043e \u043d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445, \u043e\u043f\u0438\u0441\u0430\u0442\u044c \u0435\u0433\u043e \u043b\u043e\u0433\u0438\u043a\u0443, \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u043d\u0430\u0448\u0435\u0433\u043e \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445, \u0438 \u0432\u043d\u0435\u0434\u0440\u0438\u0442\u044c \u0432\u00a0\u043e\u0441\u043d\u043e\u0432\u043d\u0443\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 (\u041d\u0435 \u043f\u0430\u043d\u0438\u043a\u0443\u0439! \u0412\u0441\u0435 \u043f\u0440\u043e\u0449\u0435 \u0447\u0435\u043c \u043a\u0430\u0436\u0435\u0442\u0441\u044f).<\/p>\n<p>\u0414\u043b\u044f\u00a0\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u0440\u0430\u0432\u044b\u043c \u0442\u044b\u043a\u043e\u043c \u043f\u043e\u00a0\u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u0444\u0430\u0439\u043b\u0430\u043c \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0435\u0449\u0435 \u043e\u0434\u0438\u043d \u0444\u0430\u0439\u043b cpp, \u0443\u00a0\u043c\u0435\u043d\u044f \u044d\u0442\u043e Source1.cpp, \u0443\u00a0\u0432\u0430\u0441, \u0440\u0435\u0448\u0430\u0439\u0442\u0435 \u0441\u0430\u043c\u0438.<\/p>\n<details class=\"spoiler\">\n<summary>\u0411\u043e\u043c \u0431\u043e\u043c \u0431\u043e\u043c (\u043d\u0430\u0448 \u043a\u043b\u0430\u0441\u0441 \u043a\u043d\u043e\u043f\u043a\u0438)<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"cpp\">\/\/ \u043d\u043e\u0432\u044b\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438, \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432 \u0431\u0443\u0434\u0435\u0442 \u043c\u0435\u043d\u044c\u0448\u0435  \/\/ \u044d\u0442\u0430 \u0441\u0442\u0440\u043e\u0447\u043a\u0430 \u043e\u043f\u0438\u0441\u0430\u043d\u0430 \u0432 \u043f\u0435\u0440\u0432\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u0432 \u0441\u0430\u043c\u043e\u043c \u043d\u0430\u0447\u0430\u043b\u0435 #pragma once   \/\/ \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u043c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 #include \"framework.h\" #include \"windows.h\" #include \"winuser.h\"  \/\/ \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043d\u0430\u0448 \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445, \u0438 \u043e\u043f\u0438\u0448\u0435\u043c \u0435\u0433\u043e \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u044c \/\/ (\u043d\u0430 \u044d\u0442\u043e\u0442 \u0440\u0430\u0437 \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043a\u043d\u043e\u043f\u043a\u0443) class ObjectButton { private: \/\/ \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0446\u0435\u043b\u0435\u0441\u043e\u043e\u0431\u0440\u0430\u0437\u043d\u043e\u0441\u0442\u044c \/\/ \"\u0441\u0432\u043e\u0439\u0441\u0442\u0432 \u043a\u043b\u0430\u0441\u0441\u0430\" \u043a\u0440\u0430\u0439\u043d\u0435 \u0443\u0441\u043b\u043e\u0432\u043d\u0430 \/\/ \u0432 \u0441++ (\u0438 \u043d\u043e\u0441\u0438\u0442 \u0441\u043e\u0431\u043e\u0439 \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \/\/ \u0437\u0430\u0434\u0430\u0447\u0443 \u0438\u0437\u0431\u0430\u0432\u0438\u0442\u044c \u043a\u043e\u0434 \u043e\u0442 \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0445 \/\/ \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u043e\u0432 \u0441 \u0437\u0430\u043d\u044f\u0442\u044b\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u043c\u0438, \u043f\u043e\u0434 \/\/ \u043a\u0430\u043a\u0438\u0435-\u043b\u0438\u0431\u043e \u043a\u0443\u043d\u0448\u0442\u044e\u043a\u0438, \u0442\u0430\u043a \u043a\u0430\u043a \u044f\u0437\u044b\u043a \u043e\u0447\u0435\u043d\u044c \u0435\u043c\u043a\u0438\u0439, \u0438 \/\/ \u0441\u0442\u0430\u0440\u044b\u0439), \u043e\u043f\u0438\u0448\u0435\u043c \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u0432 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u0439 \u0441\u0435\u043a\u0446\u0438\u0438 \/\/ \u0438 \u0441\u0440\u0430\u0437\u0443 \u043e\u0442\u0442\u0443\u0434\u0430 \u0431\u0443\u0434\u0435\u043c \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u043c public:  \/\/ \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043f\u0440\u043e\u0441\u0442\u044b\u0435 \u0447\u0438\u0441\u043b\u043e\u0432\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \/\/ \u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u0443\u0435\u043c \u0440\u0430\u0437\u043c\u0435\u0440\u044b \u0438 \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \/\/ \u043d\u0430\u0448\u0435\u0439 \u043a\u043d\u043e\u043f\u043a\u0438 \u043d\u0430 \u0444\u043e\u0440\u043c\u0435 (\u0448\u0438\u0440\u0438\u043d\u0443, \u0432\u044b\u0441\u043e\u0442\u0443, \u043e\u0442\u0441\u0442\u0443\u043f \/\/ \u0438\u0437 \u043b\u0435\u0432\u043e\u0433\u043e \u043a\u0440\u0430\u044f \u043e\u043a\u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u043e\u0442\u0441\u0442\u0443\u043f \/\/ \u0441\u0432\u0435\u0440\u0445\u0443 \u043e\u043a\u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b) int Width = 100; int Height = 40; int Left = 10; int Top = 10;  \/\/ \u043a\u043e\u0434 \u0446\u0432\u0435\u0442\u0430 \u0434\u043b\u044f \u0431\u043e\u0440\u0434\u044e\u0440\u0430 \u043a\u043d\u043e\u043f\u043a\u0438 \/\/ \u0438 \u0442\u0435\u043a\u0441\u0442\u0430 \u043a\u043d\u043e\u043f\u043a\u0438 (\u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e \u0434\u043b\u044f \/\/ \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438, \u043a\u043e\u0433\u0434\u0430 \u043c\u044b\u0448\u044c \u043d\u0430\u0434 \u043a\u043d\u043e\u043f\u043a\u043e\u0439) COLORREF BorderColor = RGB(0, 0, 0); COLORREF TextColor = RGB(0, 0, 0); COLORREF BorderActiveColor = RGB(120, 150, 120); COLORREF TextActiveColor = RGB(120, 150, 120);  \/\/ \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e, \u0433\u0434\u0435 \u0431\u0443\u0434\u0435\u0442 \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u0442\u0435\u043a\u0441\u0442 \/\/ \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u043d\u0430 \u043a\u043d\u043e\u043f\u043a\u0435 \/\/ (L \u043f\u0435\u0440\u0435\u0434 \u0442\u0435\u043a\u0441\u0442\u043e\u043c \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \/\/ \u0443 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 \u0438 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0435\u043c\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \/\/ \u0440\u0430\u0437\u043d\u044b\u0435 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0438), \u043d\u0435 \u0437\u0430\u043c\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0439\u0442\u0435\u0441\u044c, \/\/ \u043f\u0440\u043e\u0441\u0442\u043e \u0434\u0435\u043b\u0430\u0439\u0442\u0435 \u0442\u0430\u043a\u0436\u0435 LPCWSTR Caption = L\"Button\";  \/\/ \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0435 \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \/\/ (\u0432\u043e\u0442 \u0438\u0445 \u0438\u043c\u0435\u0435\u0442 \u0441\u043c\u044b\u0441\u043b \u043e\u043f\u0438\u0441\u0430\u0442\u044c \u0432 \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u043e\u0439 \u0441\u0435\u043a\u0446\u0438\u0438, \/\/ \u043d\u0443 \u0434\u0430 \u043b\u0430\u0434\u043d\u043e) int cfg_use_animation = 1; int cfg_enable_click_on_button = 1; int cfg_enable_border = 1; LPCSTR cfg_text_style = \"Tahoma\"; int cfg_text_size = 18; int help_button_active_status = 0; int help_left_window_magrin_size = 8; int help_top_window_magrin_size = 51; int help_button_first_draw_status = 0;  \/\/ \/\/ \/\/ \u0434\u0430\u043b\u0435\u0435 \u043e\u043f\u0438\u0448\u0435\u043c \u0442\u0435\u043b\u043e \u043d\u0430\u0448\u0435\u0433\u043e \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 (\u0442\u0435\u043b\u043e \u043a\u043b\u0430\u0441\u0441\u0430) \/\/ \/\/   \/\/ \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \"\u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\" \u0434\u043b\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \/\/ (\u044d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f, \u043a\u043e\u0433\u0434\u0430 \/\/ \u043c\u044b \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u043d\u043e\u0432\u044b\u0439 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \/\/ \u044d\u0442\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430) ObjectButton(int width, int height, int left, int top) { Width = width; Height = height; Left = left; Top = top; }  \/\/ \u044d\u0442\u043e \"\u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a\" \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u0430\u044f  \/\/ \u043d\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0430, \u043d\u043e \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u0443 \u043d\u0430\u0448\u0435\u0433\u043e \/\/ \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u043a\u043d\u043e\u043f\u043a\u0430 (\u0442\u043e \u0435\u0441\u0442\u044c \u044d\u0442\u0430 \u0437\u0430\u0433\u043e\u0442\u043e\u0432\u043a\u0430, \/\/ \u043d\u0430 \u043c\u0435\u0441\u0442\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043c\u044b \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \/\/ \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u0441\u044f \u0432 \u043c\u043e\u043c\u0435\u043d\u0442 \u043d\u0430\u0436\u0430\u0442\u0438\u044f \/\/ \u043a\u043d\u043e\u043f\u043a\u0438, \u0430 \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043c\u044b \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 \/\/ (\u0448\u0430\u0431\u043b\u043e\u043d), \u0430 \u043d\u0435 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u0443\u044e \u043a\u043d\u043e\u043f\u043a\u0443, \u043c\u044b \u043d\u0435 \u0437\u043d\u0430\u0435\u043c \/\/ (\u043f\u043e\u043a\u0430) \u043a\u0430\u043a\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b \u0431\u0443\u0434\u0435\u0442 \u0443 \u044d\u0442\u043e\u0439 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u043a\u043d\u043e\u043f\u043a\u0438 \/\/ (\u043d\u0435 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0432\u0434\u0430\u0432\u044f\u0442\u0441\u044f \u0432 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438), \u043d\u043e \u043e \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0438 \/\/ \u0437\u0432\u0435\u0437\u0434\u043e\u0447\u043a\u0438 \u044f \u0433\u043e\u0432\u043e\u0440\u0438\u043b \u0432 \u043a\u043e\u043d\u0446\u0435 \u044d\u0442\u0430\u043f\u0430 2) void(*ButtonClick)();  \/\/ \u0441\u0440\u0430\u0437\u0443 \u0436\u0435 \u043e\u043f\u0438\u0448\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0434\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \/\/ \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043d\u0430\u0436\u0430\u0442\u0438\u0435, \/\/ \u0435\u0441\u043b\u0438 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b \u043f\u0435\u0440\u0435\u0441\u0435\u043a\u0430\u044e\u0442\u0441\u044f \u0441 \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u044b\u043c \/\/ \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u043c \u043d\u0430\u0448\u0435\u0439 \u043a\u043d\u043e\u043f\u043a\u0438, \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \/\/ ButtonClick, \u043e \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u044f \u0433\u043e\u0432\u043e\u0440\u0438\u043b \u0432\u044b\u0448\u0435 \/\/ (\u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430 \u0431\u0443\u0434\u0435\u0442 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \/\/ \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043e\u043a\u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0431\u0443\u0434\u0435\u0442 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \/\/ \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0435\u043c\u044b\u0439 \u043d\u0430\u043c\u0438 \u043e\u0431\u044a\u0435\u043a\u0442 \u043a\u043d\u043e\u043f\u043a\u0430) bool CheckMouseCoordinatesBeforeStartClickFunction(HWND form_link) {  \/\/ \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e, \u0432 \u043a\u043e\u0442\u043e\u0440\u0443\u044e \/\/ \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b \u043c\u044b\u0448\u0438 (\u0442\u0435\u043a\u0443\u0449\u0438\u0435), \/\/ \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 POINT, \u043f\u043e \u0441\u0443\u0442\u0438, \u0434\u0432\u0435 \u0447\u0438\u0441\u043b\u043e\u0432\u044b\u0445 \/\/ \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0432 \u043e\u0434\u043d\u043e\u0439 (\u0442\u0430\u043a\u043e\u0439 \u0442\u0438\u043f \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \/\/ \u0433\u043e\u0442\u043e\u0432\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442) POINT mouse_coordinates;  \/\/ \u0432\u044b\u0437\u043e\u0432\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e (\u0438\u0437 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a), \/\/ \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0432 \u043a\u0430\u043a\u0443\u044e-\u043b\u0438\u0431\u043e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \/\/ \u0442\u0435\u043a\u0443\u0449\u0438\u0435 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b \u043c\u044b\u0448\u0438 (\u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \/\/ \u0440\u0430\u043d\u0435\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u0443\u044e \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e GetCursorPos(&amp;mouse_coordinates);  \/\/ \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0435\u0449\u0435 \u043e\u0434\u043d\u0443 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e (\u0442\u0438\u043f\u0430 RECT, \/\/ \u043e\u043d \u0436\u0435 \u043a\u0432\u0430\u0434\u0440\u0430\u0442, \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 4 \u0447\u0438\u0441\u043b\u043e\u0432\u044b\u0445 \/\/ \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0432 \u043e\u0434\u043d\u043e\u0439), \u0438\u043c\u0435\u043d\u043d\u043e \u0442\u0430\u043a\u0443\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \/\/ \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0432 \u0441\u0435\u0431\u044f \u0433\u043e\u0442\u043e\u0432\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0438\u0437 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a \/\/ \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u0432 \u043e\u043a\u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u0438 \u0435\u0433\u043e \/\/ \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0430 \u0440\u0430\u0431\u043e\u0447\u0435\u043c \u0441\u0442\u043e\u043b\u0435 RECT program_size_and_position_on_screen;  \/\/ \u0432\u044b\u0437\u043e\u0432\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u0432 \u0438 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 \/\/ \u043e\u043a\u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b (\u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \/\/ \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043e\u043a\u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e, \u0441  \/\/ \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043c\u043e\u0436\u043d\u043e \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438) GetWindowRect(form_link, &amp;program_size_and_position_on_screen);  \/\/ \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e, \/\/ \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0431\u0443\u0434\u0435\u043c \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043e \u0441\u0442\u0430\u0442\u0443\u0441\u0435 \/\/ \u043a\u043d\u043e\u043f\u043a\u0438 (\u0431\u044b\u043b\u0430 \u043b\u0438 \u0432\u044b\u0437\u0432\u0430\u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u043e \u043d\u0430\u0436\u0430\u0442\u0438\u044e, \/\/ \u0438\u043b\u0438 \u043d\u0435\u0442) bool help_execute_status = false;  \/\/ \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \"\u0441\u043b\u043e\u0436\u043d\u043e\u0441\u043e\u0441\u0442\u0430\u0432\u043d\u043e\u0435\" \u0443\u0441\u043b\u043e\u0432\u0438\u0435 (&amp;&amp; \u0434\u0432\u043e\u0439\u043d\u043e\u0439 \u0430\u043c\u043f\u0435\u0440\u0441\u0430\u043d\u0442 \u044d\u0442\u043e \/\/ \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0438, || \u0430 \u044d\u0442\u043e \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0438\u043b\u0438), \/\/ \u0435\u0441\u043b\u0438 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b \u043c\u044b\u0448\u0438 \u043f\u043e \u043e\u0441\u0438 \u0425 (\u043e\u0442\u0441\u0442\u0443\u043f \u0441\u043b\u0435\u0432\u0430) \/\/ \u043c\u0435\u043d\u044c\u0448\u0435, \u0447\u0435\u043c \u043e\u0442\u0441\u0442\u0443\u043f \u043e\u043a\u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b (\u043e\u0442\u0441\u0442\u0443\u043f \u0441\u043b\u0435\u0432\u0430 \u0443 \u043e\u043a\u043d\u0430), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u044b\u043b \/\/ \u043f\u0440\u0438\u043f\u043b\u044e\u0441\u043e\u0432\u0430\u043d \u043a \u043e\u0442\u0441\u0442\u0443\u043f\u0443 \u0441\u043b\u0435\u0432\u0430 \u0443 \u043a\u043d\u043e\u043f\u043a\u0438 (\u043d\u0430 \u0444\u043e\u0440\u043c\u0435, \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 Left),  \/\/ \u0438 (&amp;&amp;) \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b \u043c\u044b\u0448\u0438 \u043f\u043e \u043e\u0441\u0438 \u0425 \u043c\u0435\u043d\u044c\u0448\u0435, \u0447\u0435\u043c \u043e\u0442\u0441\u0442\u0443\u043f \u043e\u043a\u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b + \/\/ \u043e\u0442\u0441\u0442\u0443\u043f \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u043a\u043d\u043e\u043f\u043a\u0438 \u043d\u0430 \u0444\u043e\u0440\u043c\u0435 + \u0448\u0438\u0440\u0438\u043d\u0430 \u043a\u043d\u043e\u043f\u043a\u0438 + 8 (\u043f\u0438\u043a\u0441\u0435\u043b\u0435\u0439 \u0431\u043e\u0440\u0434\u044e\u0440\u0430 \/\/ \u043e\u043a\u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b), \u0442\u043e\u0433\u0434\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442 \u043a\u043e\u0434\u0430 \u0432\u043d\u0443\u0442\u0440\u0438 \u044d\u0442\u043e\u0433\u043e \u0441\u043b\u043e\u0436\u043d\u043e\u0433\u043e \u0443\u0441\u043b\u043e\u0432\u0438\u044f if ( mouse_coordinates.x > program_size_and_position_on_screen.left + Left &amp;&amp; mouse_coordinates.x &lt; program_size_and_position_on_screen.left + Left + Width ) { \/\/ \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u0435\u0449\u0435 \u043e\u0434\u043d\u043e \u0443\u0441\u043b\u043e\u0432\u0438\u0435 (\u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u043e\u0435 \u043f\u0435\u0440\u0432\u043e\u043c\u0443, \u043d\u043e \u0442\u0435\u043f\u0435\u0440\u044c \u0434\u043b\u044f \u0432\u044b\u0441\u043e\u0442\u044b, \/\/ \u0442\u043e \u0435\u0441\u0442\u044c \u0432\u043c\u0435\u0441\u0442\u043e Left -> Top, \u0432\u043c\u0435\u0441\u0442\u043e Width -> Height), \u0438 \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \/\/ \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043b\u0438 \u043c\u044b\u0448\u044c \u0432 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0435 \u043e\u0442 \u043d\u0430\u0447\u0430\u043b\u0430 \u043a\u043d\u043e\u043f\u043a\u0438, \u0434\u043e \u0435\u0435 \u043a\u043e\u043d\u0446\u0430, \/\/ \u0442\u043e \u0435\u0441\u0442\u044c \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u0432 \u043a\u043d\u043e\u043f\u043a\u0438 if ( mouse_coordinates.y > program_size_and_position_on_screen.top + Top &amp;&amp; mouse_coordinates.y &lt; program_size_and_position_on_screen.top + Top + Height) { \/\/ \u0432\u043e \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \/\/ (\u043c\u0435\u043d\u044f\u0435\u043c) \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0431\u0443\u0434\u0435\u0442 \u0441\u0438\u0433\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0447\u0442\u043e \/\/ \u0444\u0443\u043d\u043a\u0446\u0438\u044f CheckMouseCoordinatesBeforeStartClickFunction \/\/ \u0432\u044b\u0437\u0432\u0430\u043b\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u043d\u0430\u0436\u0430\u0442\u0438\u044f \u043a\u043d\u043e\u043f\u043a\u0438 help_execute_status = true;  \/\/ \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c \u0441\u0430\u043c\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u044e (\u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u044b \u043f\u043e\u043a\u0430 \u043d\u0435 \u0437\u043d\u0430\u0435\u043c, \/\/ \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u043e\u0441\u0442\u043e \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u044d\u0442\u043e\u0439 \u0442\u0435\u043e\u0440\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \/\/ \u0444\u0443\u043d\u043a\u0446\u0438\u0438), \u043d\u043e \u043f\u0440\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u0438, \u0447\u0442\u043e \u0432 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0435 \u043a\u043d\u043e\u043f\u043a\u0438 (\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0432\u0432\u0435\u0440\u0445\u0443) \/\/ \u0441 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c cfg_enable_click_on_button \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e \u0447\u0438\u0441\u043b\u043e 1 if (cfg_enable_click_on_button == 1) { ButtonClick(); } } else { help_execute_status = false; } }  \/\/ \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0441\u043e \u0441\u0442\u0430\u0442\u0443\u0441\u043e\u043c \u043d\u0430\u0436\u0430\u0442\u0438\u044f return help_execute_status; }  \/\/ \u043e\u043f\u0438\u0448\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u044d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043b\u0438 \u043c\u044b\u0448\u044c \/\/ \u043d\u0430\u0434 \u043e\u0431\u043b\u0430\u0441\u0442\u044c\u044e, \u0433\u0434\u0435 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043a\u043d\u043e\u043f\u043a\u0430 (\u043f\u043e \u0441\u0443\u0442\u0438, \u0434\u0443\u0431\u043b\u0438\u0440\u0443\u044e\u0449\u0438\u0439\u0441\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b \/\/ \u0441 \u043a\u043d\u043e\u043f\u043a\u043e\u0439 \u043d\u0430\u0436\u0430\u0442\u0438\u044f, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0438\u043c\u0435\u0435\u0442 \u0441\u043c\u044b\u0441\u043b \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u0442\u044c \u0442\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0432\u044b\u0448\u0435, \/\/ \u0430 \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043d\u0430\u0436\u0430\u0442\u0438\u044f \u0443\u0436\u0435 \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u044d\u0442\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0434\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442) \/\/ \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u044d\u0442\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043e\u043d\u0430 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u043f\u043e \u043a\u0430\u043a\u043e\u0439-\u043b\u0438\u0431\u043e \u043e\u0434\u043d\u043e\u0439  \/\/ \u043e\u0441\u0438, \u0430 \u043d\u0435 \u043f\u043e \u043e\u0431\u0435\u0438\u043c \u0441\u0440\u0430\u0437\u0443 bool CheckIsMouseOnThisButtonOrNo(HWND form_link, int axis_direction) {  \/\/ \u0434\u0443\u0431\u043b\u0438\u0440\u0443\u0435\u043c \u043a\u043e\u0434 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e \/\/ \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u043e\u043c\u0443 \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043d\u0430\u0436\u0430\u0442\u0438\u044f POINT mouse_coordinates; RECT program_size_and_position_on_screen; \/\/ GetCursorPos(&amp;mouse_coordinates); GetWindowRect(form_link, &amp;program_size_and_position_on_screen);  \/\/ \u043d\u043e \u0442\u0435\u043f\u0435\u0440\u044c \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0434\u0440\u0443\u0433\u0443\u044e \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044e \u0443\u0441\u043b\u043e\u0432\u0438\u044f, \/\/ \u0435\u0441\u043b\u0438 \u0432 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0435 \u043f\u0440\u0438 \u0432\u044b\u0437\u043e\u0432\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u043e \u0447\u0438\u0441\u043b\u043e 0 \/\/ \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e \u043e\u0441\u0438 \u0425, \u0438\u043d\u0430\u0447\u0435 \u043f\u043e \u043e\u0441\u0438 \u0423 if (axis_direction == 0) {  \/\/ \u0443\u0441\u043b\u043e\u0432\u0438\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442 \u043f\u043e \u043e\u0441\u0438 \u0425 if ( mouse_coordinates.x > program_size_and_position_on_screen.left + Left &amp;&amp; mouse_coordinates.x &lt; program_size_and_position_on_screen.left + Left + Width ) {  \/\/ \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c \u0438\u0441\u0442\u0438\u043d\u0443, \u0435\u0441\u043b\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \/\/ \u043f\u0440\u043e\u0439\u0434\u0435\u043d\u0430 return true; } }  \/\/ \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f else \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u0435\u0442\u0441\u044f \u0432\u043f\u0435\u0440\u0432\u044b\u0435, \u044d\u0442\u043e \u0442\u043e\u0442 \u0441\u0430\u043c\u044b\u0439 \u0431\u043b\u043e\u0447\u043e\u043a \u043a\u043e\u0434\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \/\/ \u043a\u0430\u043a \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u0430 (\u0435\u0441\u043b\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u0435 \u043d\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u043b\u043e\u0441\u044c), \u0434\u043b\u044f \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0443\u0441\u043b\u043e\u0432\u0438\u044f \u044d\u0442\u0438\u043c \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u043e\u043c, \/\/ \u043d\u0430\u0434\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0443\u0434\u0430\u043b\u0438\u0442\u044c ; \u0432 \u043a\u043e\u043d\u0446\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u0443\u0441\u043b\u043e\u0432\u0438\u044f, \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0441\u043b\u043e\u0432\u043e else \u0438 \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0442\u0435\u043b\u043e \/\/ {} \u0431\u043b\u043e\u043a\u0430 \u043a\u043e\u0434\u0430, \u043d\u043e \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f if \u043c\u043e\u0436\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0438 \u0431\u0435\u0437 \u043d\u0435\u0433\u043e else {  \/\/ \u0432\u0441\u0435 \u0442\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u043e \u043e\u0441\u0438 \u0423 if ( mouse_coordinates.y > program_size_and_position_on_screen.top + Top &amp;&amp; mouse_coordinates.y &lt; program_size_and_position_on_screen.top + Top + Height ) {  \/\/ \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c \u0438\u0441\u0442\u0438\u043d\u0443, \u0435\u0441\u043b\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \/\/ \u043f\u0440\u043e\u0439\u0434\u0435\u043d\u0430 return true; } }  \/\/ \u0435\u0441\u043b\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043d\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u043b\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \/\/ \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0435, \/\/ \u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0441 false return false; }  \/\/ \u043e\u043f\u0438\u0448\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0431\u0443\u0434\u0435\u0442 \/\/ \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u0442\u0435\u043a\u0441\u0442 (\u043d\u0430\u0434\u043f\u0438\u0441\u044c \u043d\u0430 \u043a\u043d\u043e\u043f\u043a\u0435), \/\/ \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u043c \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \/\/ \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f, \u0442\u0435\u043a\u0441\u0442, \/\/ \u0446\u0432\u0435\u0442 \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u043a\u0438 \u0442\u0435\u043a\u0441\u0442\u0430 void DrawButtonText(HDC hdc, LPCWSTR text, COLORREF color) {  \/\/ \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e, \u0441 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \/\/ \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u0443\u0435\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0441\u0442\u0438\u043b\u044f \u0442\u0435\u043a\u0441\u0442\u0430, \/\/ \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 (\u0438\u0437 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a) CreateFontA, \/\/ \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0432 \u0441\u0435\u0431\u044f \u043e\u0447\u0435\u043d\u044c \u043c\u043d\u043e\u0433\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 HFONT hFont;  \/\/ \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u0443\u0435\u043c \u0441 \u043d\u0430\u0448\u0435\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \/\/ \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043d\u0430\u0448\u0435\u0433\u043e  \/\/ \u0441\u0442\u0438\u043b\u044f \u0448\u0440\u0438\u0444\u0442\u0430, \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \/\/ \u0438\u043c\u0435\u043d\u0438 \u0448\u0440\u0438\u0444\u0442\u0430 \u0438 \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u0448\u0440\u0438\u0444\u0442\u0430 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043d\u0430\u0448\u0438 \/\/ \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0441\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430\u043c\u0438 \u0441\u0442\u0438\u043b\u044f \u0442\u0435\u043a\u0441\u0442\u0430, \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \/\/ \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e hFont = CreateFontA( cfg_text_size, \/\/ \u0437\u0430\u0434\u0430\u0435\u043c \u0432\u044b\u0441\u043e\u0442\u0443 \u0432 em cfg_text_size \/ 3, \/\/ \u0448\u0438\u0440\u0438\u043d\u0443 (\u0432 em), \u0434\u0435\u043b\u0438\u043c \u043d\u0430 3 \u043e\u0442 \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u0442\u0435\u043a\u0441\u0442\u0430 0, \/\/ \u0433\u0440\u0430\u0434\u0443\u0441 \u043d\u0430\u043a\u043b\u043e\u043d\u0430 (\u0432\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u0442\u0435\u043a\u0441\u0442\u0430) 0, \/\/ \u0433\u0440\u0430\u0434\u0443\u0441 \u0443\u0433\u043b\u0430 \u043f\u043b\u043e\u0441\u043a\u043e\u0441\u0442\u0438 (\u043d\u0430\u043a\u043b\u043e\u043d \u0433\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430, \u043e\u0442 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0432\u044b\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0433\u0440\u0430\u0434\u0443\u0441 \u043d\u0430\u043a\u043b\u043e\u043d\u0430) FW_NORMAL, \/\/ \u0442\u043e\u043b\u0449\u0438\u043d\u0430 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 (\u0442\u043e\u043d\u043a\u0438\u0439, \u0441\u0440\u0435\u0434\u043d\u0438\u0439, \u0442\u043e\u043b\u0441\u0442\u044b\u0439, \u043e\u0447\u0435\u043d\u044c \u0442\u043e\u043b\u0441\u0442\u044b\u0439 \u0438 \u0442\u0434) false, \/\/ \u0440\u0438\u0441\u043e\u0432\u0430\u0442\u044c \u043a\u0443\u0440\u0441\u0438\u0432\u043e\u043c (\u0434\u0430 \u0438\u043b\u0438 \u043d\u0435\u0442) false, \/\/ \u043f\u043e\u0434\u0447\u0435\u0440\u043a\u0438\u0432\u0430\u0442\u044c false, \/\/ \u0437\u0430\u0447\u0435\u0440\u043a\u0438\u0432\u0430\u0442\u044c OUT_DEFAULT_PRECIS, \/\/ \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u0441\u0442\u0435\u043f\u0435\u043d\u0438 \u043f\u043e\u0434\u0433\u043e\u043d\u0430 \u0448\u0440\u0438\u0444\u0442\u0430 \u043f\u043e\u0434 \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b CLIP_DEFAULT_PRECIS, \/\/ \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u0441\u0442\u0435\u043f\u0435\u043d\u0438 \u043e\u0431\u0440\u0435\u0437\u043a\u0438 \u0431\u0443\u043a\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u044b\u043b\u0435\u0437\u0430\u044e\u0442 \u0437\u0430 \u043f\u0440\u0435\u0434\u0435\u043b\u044b \u0441\u0432\u043e\u0435\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 DEFAULT_CHARSET, \/\/ \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0438 \u0434\u043b\u044f \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 DEFAULT_QUALITY, \/\/ \u043e\u0431\u0449\u0435\u0435 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u043a\u0438 (\u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0441\u0433\u043b\u0430\u0436\u0438\u0432\u0430\u043d\u0438\u044f, \u043e\u0431\u0432\u043e\u0434\u043a\u0438, \u0438 \u0442\u0434) DEFAULT_PITCH | FF_DONTCARE, \/\/ \u043e\u0442\u0441\u0442\u0443\u043f \u043c\u0435\u0436\u0434\u0443 \u0441\u0438\u043c\u0432\u043e\u043b\u0430\u043c\u0438 (\u043f\u0435\u0440\u0435\u0434\u0430\u044e \u0441\u0440\u0430\u0437\u0443 \u0434\u0432\u0430  \/\/ \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430, \u0447\u0435\u0440\u0435\u0437 \u0443\u0441\u043b\u043e\u0432\u043d\u0443\u044e \"\u0437\u0430\u043f\u044f\u0442\u0443\u044e\", \u0432\u0442\u043e\u0440\u043e\u0439 \/\/ \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043c\u043e\u0436\u0435\u0442 \u043b\u0438 \u0440\u0430\u0441\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043c\u0435\u0436\u0434\u0443  \/\/ \u0441\u0438\u043c\u0432\u043e\u043b\u0430\u043c\u0438 \u0431\u044b\u0442\u044c \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u044b\u043c, \u0438\u043b\u0438 \u043b\u044e\u0431\u044b\u043c, \/\/ \u0432 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043e \u043b\u044e\u0431\u043e\u0435 \u0440\u0430\u0441\u0441\u0442\u043e\u044f\u043d\u0438\u0435) cfg_text_style \/\/ \u0438\u043c\u044f \u0448\u0440\u0438\u0444\u0442\u0430 );  \/\/ \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u0438\u0432\u044f\u0436\u0435\u0442 \/\/ \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0439 \u043d\u0430\u043c\u0438 \u0448\u0440\u0438\u0444\u0442 \u0441 \u043e\u0431\u043b\u0430\u0441\u0442\u044c\u044e \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f, \/\/ \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u043c \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \/\/ \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f, \u0438 \u043d\u0430\u0448 \u0441\u0442\u0438\u043b\u044c \u0448\u0440\u0438\u0444\u0442\u0430 SelectObject(hdc, hFont);  \/\/ \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0442\u0438\u043f\u0430 SIZE \/\/ (\u0434\u0432\u0435 \u0447\u0438\u0441\u043b\u043e\u0432\u044b\u0445 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0432 \u043e\u0434\u043d\u043e\u0439), \u0432 \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0431\u0443\u0434\u0435\u043c \/\/ \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0440\u0430\u0437\u043c\u0435\u0440 \u0442\u0435\u043a\u0441\u0442\u0430 \u0432 \u043f\u0438\u043a\u0441\u0435\u043b\u044f\u0445, \u0434\u043b\u044f \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \/\/ \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f (\u0444\u043e\u0440\u043c\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b), \u0438\u0437 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u0447\u043d\u043e\u0439 \/\/ (\u0433\u043e\u0442\u043e\u0432\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438) SIZE help_text_size;  \/\/ \u043f\u043e\u043b\u0443\u0447\u0430\u044e \u0440\u0430\u0437\u043c\u0435\u0440\u044b \u0442\u0435\u043a\u0441\u0442\u0430 \u0432 \u043f\u0438\u043a\u0441\u0435\u043b\u044f\u0445 (\u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \/\/ \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f, \u0442\u0435\u043a\u0441\u0442, \u0440\u0430\u0437\u043c\u0435\u0440 \u0441\u0442\u0440\u043e\u043a\u0438 (\u0432 \u0431\u0430\u0439\u0442\u0430\u0445)), \/\/ \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e, \u0441 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043d\u0443\u0436\u043d\u043e \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \/\/ \u044d\u0442\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 (help_text_size) GetTextExtentPoint32(hdc, text, lstrlen(text), &amp;help_text_size);  \/\/ \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c \u0434\u0440\u0443\u0433\u0443\u044e \u0433\u043e\u0442\u043e\u0432\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u044d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \/\/ \u043c\u0435\u043d\u044f\u0435\u0442 \u0446\u0432\u0435\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0431\u0443\u0434\u0435\u0442 \u043d\u0430\u043f\u0435\u0447\u0430\u0442\u0430\u043d \u0442\u0435\u043a\u0441\u0442, \/\/ \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u043c \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f \/\/ (\u043d\u0430\u0448\u0443 \u0444\u043e\u0440\u043c\u0443), \u0438 \u0446\u0432\u0435\u0442 \u0442\u0435\u043a\u0441\u0442\u0430 (\u0438\u0437 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430 color) SetTextColor(hdc, color);  \/\/ \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u043c \u0441\u0435\u0440\u0435\u0434\u0438\u043d\u0443 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043a\u043d\u043e\u043f\u043a\u0438, \u0447\u0442\u043e\u0431\u044b \/\/ \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u0430\u0442\u044c \u0442\u0435\u043a\u0441\u0442 \"\u043f\u043e \u0446\u0435\u043d\u0442\u0440\u0443\", \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0438\u0437 \u0448\u0438\u0440\u0438\u043d\u044b  \/\/ \u0438 \u0432\u044b\u0441\u043e\u0442\u044b \u043a\u043d\u043e\u043f\u043a\u0438 (\u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0435 \u043d\u0430 2) \u0432\u044b\u0447\u0438\u0442\u0430\u0435\u043c \/\/ \u0448\u0438\u0440\u0438\u043d\u0443, \u0438 \u0432\u044b\u0441\u043e\u0442\u0443 \u0442\u0435\u043a\u0441\u0442\u0430 (\u0442\u0430\u043a\u0436\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u043d\u0443\u044e \u043d\u0430 2) \/\/ \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u0443\u0435\u043c \u0441 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c\u0438 \u0445 \u0438 \u0443 int x = (Width \/ 2) - (help_text_size.cx \/ 2); int y = (Height \/ 2) - (help_text_size.cy \/ 2);  \/\/ \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0434\u043b\u044f \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u043a\u0438 \u0442\u0435\u043a\u0441\u0442\u0430 \u043d\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f \/\/ \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f, \/\/ \u043e\u0442\u0441\u0442\u0443\u043f \u0441\u043b\u0435\u0432\u0430 (\u043e\u0442 \u043a\u0440\u0430\u044f \u0444\u043e\u0440\u043c\u044b), \u043e\u0442\u0441\u0442\u0443\u043f \u0441\u0432\u0435\u0440\u0445\u0443 (\u043e\u0442 \u043a\u0440\u0430\u044f \u0444\u043e\u0440\u043c\u044b), \/\/ \u0442\u0435\u043a\u0441\u0442 \u0434\u043b\u044f \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f, \u0440\u0430\u0437\u043c\u0435\u0440 \u0442\u0435\u043a\u0441\u0442\u0430 \u0432 \u0431\u0430\u0439\u0442\u0430\u0445 (\u0442\u0435\u043a\u0441\u0442 \u0431\u0435\u0440\u0435\u043c \u0438\u0437 \/\/ \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430, \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c\u043e\u0433\u043e \u043f\u0440\u0438 \u0432\u044b\u0437\u043e\u0432\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438) TextOut(hdc, Left + x, Top + y, text, lstrlen(text)); }  \/\/ \u0442\u0435\u043f\u0435\u0440\u044c \u043e\u043f\u0438\u0448\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0434\u043b\u044f \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u043a\u0438 \u0440\u0430\u043c\u043a\u0438 \u0443 \u043a\u043d\u043e\u043f\u043a\u0438 \/\/ \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e SetPixel (\u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \/\/ \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0446\u0432\u0435\u0442 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u043f\u0438\u043a\u0441\u0435\u043b\u044f \u043d\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f), \/\/ \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0446\u0438\u043a\u043b\u044b \u0438 \u0440\u0430\u0437\u043c\u0435\u0440\u044b \u043a\u043d\u043e\u043f\u043a\u0438 (\u0438\u0437 \u0441\u0432\u043e\u0439\u0441\u0442\u0432 \u043e\u0431\u044a\u0435\u043a\u0442\u0430), \/\/ \u044d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043d\u0435 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043d\u0430 \u043c\u0435\u0441\u0442\u043e \u0441\u0432\u043e\u0435\u0433\u043e \/\/ \u0432\u044b\u0437\u043e\u0432\u0430, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 \u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 void (\u043d\u0438\u0447\u0435\u0433\u043e), \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \/\/ return \u0442\u0430\u043a\u0436\u0435 \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f, \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b  \/\/ \u0441 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u0435\u043c \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u0446\u0432\u0435\u0442\u043e\u043c \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u043a\u0438 void DrawButtonBorder(HDC hdc, COLORREF color) {  \/\/ \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0443\u0441\u043b\u043e\u0432\u0438\u0435, \u0435\u0441\u043b\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \/\/ cfg_enable_border \u0440\u0430\u0432\u043d\u043e 0, \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u0435\u043c \/\/ \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0435\u0449\u0435 \u0434\u043e \u043d\u0430\u0447\u0430\u043b\u0430 if (cfg_enable_border == 0) { return; }  \/\/ \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0447\u0438\u0441\u043b\u043e\u0432\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0430 \u0438 \u0431, \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u0443\u044f \u0441 \u043d\u0438\u043c\u0438 \/\/ \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u0430, \u043d\u043e \u0442\u0430\u043a \u0447\u0442\u043e\u0431\u044b \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u043d\u0430\u0440\u0438\u0441\u043e\u0432\u0430\u0442\u044c \/\/ \u043f\u0440\u044f\u043c\u0443\u044e \u043b\u0438\u043d\u0438\u044e \u0432 \u0446\u0438\u043a\u043b\u0435, \u043a \u043f\u0440\u0438\u043c\u0435\u0440\u0443 \u0438\u0437 \u0432\u0435\u0440\u0445\u043d\u0435\u0439 \u043b\u0435\u0432\u043e\u0439 \u0442\u043e\u0447\u043a\u0438  \/\/ \u0432\u043f\u0440\u0430\u0432\u043e, \u0438\u0437\u043c\u0435\u043d\u044f\u044f \u0446\u0432\u0435\u0442 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u0438\u043a\u0441\u0435\u043b\u044f \u043d\u0430 \u043f\u0443\u0442\u0438, \u0434\u043e \u0442\u0435\u0445 \u043f\u043e\u0440 \/\/ \u043f\u043e\u043a\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0440\u0442\u0430 (\u0430, \u0438\u043b\u0438 \u043b\u0435\u0432\u043e\u0433\u043e \u0432\u0435\u0440\u0445\u043d\u0435\u0433\u043e \u043a\u0440\u0430\u044f) \/\/ \u043d\u0435 \u0441\u0442\u0430\u043d\u0435\u0442 \u0440\u0430\u0432\u043d\u044b\u043c (\u0431, \u0438\u043b\u0438 \u043b\u0435\u0432\u043e\u0433\u043e \u0432\u0435\u0440\u0445\u043d\u0435\u0433\u043e \u043a\u0440\u0430\u044f + \u0448\u0438\u0440\u0438\u043d\u0430 \u043a\u043d\u043e\u043f\u043a\u0438) int a = Left; int b = Left + Width;  \/\/ \u0432\u043e\u0442 \u043f\u0440\u0438\u043c\u0435\u0440 \/\/ \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0446\u0438\u043a\u043b, \u0434\u043e \u0442\u0435\u0445 \u043f\u043e\u0440, \u043f\u043e\u043a\u0430, \u0430 \u043c\u0435\u043d\u044c\u0448\u0435 \u0431 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u043c \u043a\u043e\u0434 \u0446\u0438\u043a\u043b\u0430 while (a &lt;= b) {  \/\/ \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0446\u0432\u0435\u0442\u0430 \u043f\u0438\u043a\u0441\u0435\u043b\u044f, \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \/\/ \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u043c \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f, \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b \u043e\u0441\u0438 \u0445 \u0438 \u0443, \/\/ \u043d\u043e\u0432\u044b\u0439 \u0446\u0432\u0435\u0442 \u043f\u0438\u043a\u0441\u0435\u043b\u044f (\u0431\u0435\u0440\u0435\u043c \u0438\u0437 color) SetPixel(hdc, a, Top, color);  \/\/ \u044d\u0442\u0430 \u0443\u043f\u0440\u043e\u0449\u0435\u043d\u043d\u0430\u044f \u0444\u043e\u0440\u043c\u0430 \u0437\u0430\u043f\u0438\u0441\u0438 a = a + 1; \/\/ \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u0430\u044f \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u0446\u0438\u043a\u043b\u043e\u0432 a++; }  \/\/ \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043f\u0440\u043e\u0442\u044f\u0433\u0438\u0432\u0430\u0435\u043c \u043b\u0438\u043d\u0438\u044e \u0438\u0437 \u043f\u0440\u0430\u0432\u043e\u0433\u043e \/\/ \u0432\u0435\u0440\u0445\u043d\u0435\u0433\u043e \u043a\u0440\u0430\u044f \u0432\u043d\u0438\u0437 \u043f\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0443 \u0432\u044b\u0441\u043e\u0442\u044b \u043a\u043d\u043e\u043f\u043a\u0438 a = Top; b = Top + Height;  while (a &lt;= b) { SetPixel(hdc, Left + Width, a, color); a++; }  \/\/ \u0435\u0449\u0435 \u043e\u0434\u043d\u0443 \u0438\u0437 \u043b\u0435\u0432\u043e\u0433\u043e \u043d\u0438\u0436\u043d\u0435\u0433\u043e \u043a\u0440\u0430\u044f, \u043f\u043e \u0448\u0438\u0440\u0438\u043d\u0435 a = Left; b = Left + Width;  while (a &lt;= b) { SetPixel(hdc, a, Top + Height, color); a++; }  \/\/ \u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044e\u044e \u0438\u0437 \u043b\u0435\u0432\u043e\u0433\u043e \u0432\u0435\u0440\u0445\u043d\u0435\u0433\u043e \u043a\u0440\u0430\u044f \u043f\u043e \u0432\u044b\u0441\u043e\u0442\u0435 a = Top; b = Top + Height;  while (a &lt;= b) { SetPixel(hdc, Left, a, color); a++; } }  \/\/ \u0442\u0435\u043f\u0435\u0440\u044c \u043e\u043f\u0438\u0448\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0434\u043b\u044f \u043e\u0442\u0447\u0438\u0441\u0442\u043a\u0438 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f void ClearButtonDraw(HWND hwnd) {  \/\/ \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e, \u0441 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \/\/ \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u0443\u0435\u043c \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b \u0438 \u0440\u0430\u0437\u043c\u0435\u0440\u044b \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043d\u0430\u0448\u0435\u0439 \u043a\u043d\u043e\u043f\u043a\u0438, \/\/ \u044d\u0442\u0430 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u043d\u0443\u0436\u043d\u0430 \u0434\u043b\u044f \u0433\u043e\u0442\u043e\u0432\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043e\u0447\u0438\u0441\u0442\u0438\u0442 \/\/ \u043e\u0431\u043b\u0430\u0441\u0442\u044c (\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f RECT \u044d\u0442\u043e 4 \u0447\u0438\u0441\u043b\u043e\u0432\u044b\u0445 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0432 \u043e\u0434\u043d\u043e\u0439) RECT help_button_coordinates_and_size;  \/\/ \u043d\u0430\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0438\u0437 \u0441\u0432\u043e\u0439\u0441\u0442\u0432 \u043d\u0430\u0448\u0435\u0439 \u043a\u043d\u043e\u043f\u043a\u0438 \/\/ (\u0438\u0437 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f Left \u043c\u044b \u0432\u044b\u0447\u0438\u0442\u0430\u0435\u043c \u043e\u0442\u0441\u0442\u0443\u043f\u044b \u043c\u0435\u043d\u044e \/\/ (\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0431\u044b\u043b\u043e \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043e + \u0431\u043e\u0440\u0434\u044e\u0440 \u043e\u043a\u043d\u0430, 19 \u0438 32 \u043f\u0438\u043a\u0441\u0435\u043b\u0435\u0439), \/\/ \u0441\u043b\u0435\u0432\u0430 \u0432\u044b\u0447\u0438\u0442\u0430\u0435\u043c \u0431\u043e\u0440\u0434\u044e\u0440 \u043e\u043a\u043d\u0430, 8 \u043f\u0438\u043a\u0441\u0435\u043b\u0435\u0439), \u0434\u043b\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \/\/ \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0432\u0441\u044e \u0440\u0430\u043c\u043a\u0443 \u043a\u043d\u043e\u043f\u043a\u0438, \u0432\u044b\u043b\u0435\u0437\u0430\u0435\u043c \u0437\u0430 1 \u043f\u0438\u043a\u0441\u0435\u043b\u044c \/\/ \u0434\u043b\u044f right \u0438 botton (\u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f help_left_window_magrin_size - 1) help_button_coordinates_and_size.left = Left - (help_left_window_magrin_size); help_button_coordinates_and_size.top = Top - (help_top_window_magrin_size); help_button_coordinates_and_size.right = (Left + Width) - (help_left_window_magrin_size - 1); help_button_coordinates_and_size.bottom = (Top + Height) - (help_top_window_magrin_size - 1);  \/\/ \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u043e\u0447\u0438\u0441\u0442\u043a\u0438 \/\/ (\u0412\u0410\u0416\u041d\u041e! \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0441\u0442\u0440\u043e\u0433\u043e \/\/ \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u0434\u043b\u044f \u0441\u0442\u0438\u0440\u0430\u043d\u0438\u044f, \u0444\u0443\u043d\u043a\u0446\u0438\u044f \/\/ \u0432\u0441\u0435 \u0440\u0430\u0432\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0435\u0442 \u043d\u0435\u0432\u0430\u043b\u0438\u0434\u043d\u043e\u0439 \/\/ \u0432\u0441\u044e \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u043e\u043a\u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \/\/ \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0435\u0440\u0435\u0440\u0438\u0441\u043e\u0432\u0430\u0442\u044c \/\/ \u0432\u0441\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u044b, \u043d\u043e \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430, \u0442\u0438\u043f\u0438\u0447\u043d\u0430\u044f \/\/ \u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0441 \u043d\u0435\u043f\u043e\u043b\u043d\u043e\u0439 \/\/ \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u044c\u044e), \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435  \/\/ \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u0434\u043b\u044f \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f, \/\/ \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b (\u043f\u0440\u044f\u043c\u043e\u0443\u0433\u043e\u043b\u044c\u043d\u0438\u043a) \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \/\/ \u0441\u0442\u0438\u0440\u0430\u043d\u0438\u044f, \u0442\u0440\u0435\u0442\u0438\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u0432\u043e\u043f\u0440\u043e\u0441 \u043e \/\/ \u0441\u0442\u0438\u0440\u0430\u043d\u0438\u0438 InvalidateRect(hwnd, &amp;help_button_coordinates_and_size, TRUE); }  \/\/ \u043e\u043f\u0438\u0448\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u0438 \u043f\u0440\u0438 \u043d\u0430\u0432\u0435\u0434\u0435\u043d\u0438\u0438 \u043a\u0443\u0440\u0441\u043e\u0440\u0430 \/\/ \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \/\/ \u043e\u043a\u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u0438 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f void ActiveButtonAnimate(HWND hwnd, HDC hdc) {  \/\/ \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0443\u0441\u043b\u043e\u0432\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430\u0448\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0434\u043b\u044f \/\/ \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442 \u043c\u044b\u0448\u0438, \u0438 \u0435\u0435 \u043f\u0435\u0440\u0435\u0441\u0435\u0447\u0435\u043d\u0438\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043a\u043d\u043e\u043f\u043a\u0438 if ( CheckIsMouseOnThisButtonOrNo(hwnd, 0) == true &amp;&amp; CheckIsMouseOnThisButtonOrNo(hwnd, 1) == true ) { \/\/ \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0443\u0441\u043b\u043e\u0432\u0438\u0435, \u0437\u0430\u0432\u044f\u0437\u0430\u043d\u043d\u043e\u0435 \u043d\u0430 \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u043c \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \/\/ \u043e\u043d\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u043a\u043d\u043e\u043f\u043a\u0443 \u043e\u0434\u0438\u043d \u0440\u0430\u0437 \u043f\u0440\u0438 \u043d\u0430\u0432\u0435\u0434\u0435\u043d\u0438\u0438 \u043a\u0443\u0440\u0441\u043e\u0440\u0430, \/\/ \u0438 \u043e\u0434\u0438\u043d \u0440\u0430\u0437 \u043f\u0440\u0438 \u043f\u043e\u043a\u0438\u0434\u0430\u043d\u0438\u0438 \u043a\u0443\u0440\u0441\u043e\u0440\u043e\u043c \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043a\u043d\u043e\u043f\u043a\u0438 (\u0441\u0443\u0442\u044c \u0432 4 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0445, \/\/ \u0442\u043e \u0435\u0441\u0442\u044c \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c 4 \u0440\u0430\u0437\u043d\u044b\u0445 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f (\u043a\u0443\u0440\u0441\u043e\u0440 \u043d\u0430\u0434 \u043a\u043d\u043e\u043f\u043a\u043e\u0439, \u043d\u043e  \/\/ help_button_active_status \u0440\u0430\u0432\u043d\u043e 0, \u043a\u0443\u0440\u0441\u043e\u0440 \u043d\u0430\u0434 \u043a\u043d\u043e\u043f\u043a\u043e\u0439, \u043d\u043e  \/\/ help_button_active_status \u0440\u0430\u0432\u043d\u043e 1 \u0438 \u0442\u0434) if (help_button_active_status &lt; 1) {  \/\/ \u0440\u0438\u0441\u0443\u0435\u043c \u0440\u0430\u043c\u043a\u0443 \u0441 \u0446\u0432\u0435\u0442\u043e\u043c \u0438\u0437 \u0441\u0432\u043e\u0439\u0441\u0442\u0432 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 DrawButtonBorder(hdc, BorderActiveColor);  \/\/ \u0440\u0438\u0441\u0443\u0435\u043c \u0442\u0435\u043a\u0441\u0442 \u0441 \u0446\u0432\u0435\u0442\u043e\u043c \u0438\u0437 \u0441\u0432\u043e\u0439\u0441\u0442\u0432 \u043d\u0430\u0448\u0435\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430 DrawButtonText(hdc, Caption, TextActiveColor);  \/\/ \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u043d\u0430 \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0439 help_button_active_status = 1; } } \/\/ \u0435\u0441\u043b\u0438 \u043a\u0443\u0440\u0441\u043e\u0440 \u043d\u0435 \u043d\u0430\u0434 \u043a\u043d\u043e\u043f\u043a\u043e\u0439 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043e \u043b\u0438 \/\/ help_button_active_status \u0432 1, \u0435\u0441\u043b\u0438 \u0434\u0430, \u043f\u0435\u0440\u0435\u0440\u0438\u0441\u043e\u0432\u044b\u0432\u0430\u0435\u043c \/\/ \u043a\u043d\u043e\u043f\u043a\u0443 \u043d\u0435 \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u043c, \u0430 \u043f\u0440\u043e\u0441\u0442\u044b\u043c (\u043e\u0441\u043d\u043e\u0432\u043d\u044b\u043c) \u0446\u0432\u0435\u0442\u043e\u043c else { if (help_button_active_status > 0) {  \/\/ \u0440\u0438\u0441\u0443\u0435\u043c \u0440\u0430\u043c\u043a\u0443 \u0441 \u0446\u0432\u0435\u0442\u043e\u043c \u0438\u0437 \u0441\u0432\u043e\u0439\u0441\u0442\u0432 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 DrawButtonBorder(hdc, BorderColor); \/\/ \u0440\u0438\u0441\u0443\u0435\u043c \u0442\u0435\u043a\u0441\u0442 \u0441 \u0446\u0432\u0435\u0442\u043e\u043c \u0438\u0437 \u0441\u0432\u043e\u0439\u0441\u0442\u0432 \u043d\u0430\u0448\u0435\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430 DrawButtonText(hdc, Caption, TextColor); \/\/ \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u043d\u0430 \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0439 help_button_active_status = 0; } } }  \/\/ \u043d\u0430\u043f\u0438\u0448\u0435\u043c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044e\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u0430 \/\/ \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u0443 \u043d\u0430\u0441 \u0443\u0436\u0435 \u0435\u0441\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u0430 (\u043e\u0434\u043d\u043e\u0438\u043c\u0435\u043d\u043d\u0430\u044f \/\/ \u0441 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445, \u0432 \u0441\u0430\u043c\u043e\u043c \u043d\u0430\u0447\u0430\u043b\u0435), \u043d\u043e \u0442\u0430\u043a \u043a\u0430\u043a \u0443 \u043d\u0430\u0441 \/\/ \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f \u043a\u043e\u0434, \u043e\u043f\u0438\u0448\u0435\u043c \u0435\u0449\u0435 \u0440\u0430\u0437 void Create(HWND hwnd, HDC hdc) {  \/\/ \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0443\u0441\u043b\u043e\u0432\u0438\u0435 (\u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \/\/ \u043d\u0430\u0448\u0435\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430), \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \/\/ Create \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u0438\u043d \u0440\u0430\u0437 \u043f\u043e\u0441\u043b\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u0430, \u0432 \u043b\u044e\u0431\u043e\u0439 \/\/ \u0443\u0434\u043e\u0431\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 if (help_button_first_draw_status == 0) { help_button_first_draw_status = 1; } else { \/\/ \u0442\u0430\u043a \u043a\u0430\u043a \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043d\u0430 \u0441\u0432\u043e\u0435 \u043c\u0435\u0441\u0442\u043e, \u043a\u043e\u043c\u0430\u043d\u0434\u0443 return \/\/ \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u0435\u0440\u0432\u0430\u0442\u044c \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \/\/ \u0435\u0441\u043b\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 help_button_first_draw_status \/\/ \u043d\u0435 \u0440\u0430\u0432\u043d\u043e 0 (\u0442\u043e \u0435\u0441\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0443\u0436\u0435 \u0431\u044b\u043b\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0430 \u0440\u0430\u043d\u0435\u0435) return; } \/\/ \u0440\u0438\u0441\u0443\u0435\u043c \u0440\u0430\u043c\u043a\u0443 \u0441 \u0446\u0432\u0435\u0442\u043e\u043c \u0438\u0437 \u0441\u0432\u043e\u0439\u0441\u0442\u0432 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 DrawButtonBorder(hdc, BorderColor);  \/\/ \u0440\u0438\u0441\u0443\u0435\u043c \u0442\u0435\u043a\u0441\u0442 \u0441 \u0446\u0432\u0435\u0442\u043e\u043c \u0438\u0437 \u0441\u0432\u043e\u0439\u0441\u0442\u0432 \u043d\u0430\u0448\u0435\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430 DrawButtonText(hdc, Caption, TextColor); }  \/\/ \u044d\u0442\u043e \u0443\u043f\u0440\u043e\u0449\u0435\u043d\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0434\u043b\u044f \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u043a\u0438 \u043b\u0438\u043d\u0438\u0439 \u043f\u043e \"\u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u044e \u043f\u0435\u0440\u0430\", \/\/ \u0442\u043e \u0435\u0441\u0442\u044c \u043c\u044b \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0430\u0435\u043c \u0432 \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b \u0443\u0441\u043b\u043e\u0432\u043d\u0443\u044e \u0442\u043e\u0447\u043a\u0443 \/\/ \u043d\u0430\u0447\u0430\u043b\u0430 \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u043a\u0438, \u0438 \u0438\u0437 \u043d\u0435\u0435 \u043f\u0440\u043e\u0442\u044f\u0433\u0438\u0432\u0430\u0435\u043c \u043b\u0438\u043d\u0438\u044e \u0432 \u0434\u0440\u0443\u0433\u0443 \u0442\u043e\u0447\u043a\u0443, \u043f\u043e\u0442\u043e\u043c  \/\/ \u0441\u043d\u043e\u0432\u0430 \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0430\u0435\u043c \u0438 \u0442\u0434, \u044f \u043f\u0440\u043e\u0441\u0442\u043e \u043e\u0441\u0442\u0430\u0432\u043b\u044e \u044d\u0442\u043e \u0437\u0434\u0435\u0441\u044c void DrawLine(HDC hdc, COLORREF color, int x_from, int y_from, int x_to, int y_to) {  MoveToEx(hdc, x_from, y_from, NULL); LineTo(hdc, x_to, y_to);  } }; <\/code><\/pre>\n<\/p>\n<\/div>\n<\/details>\n<p>\u0418\u0442\u0430\u043a, \u0442\u0435\u043f\u0435\u0440\u044c \u0443\u00a0\u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u043a\u043b\u0430\u0441\u0441 \u0434\u043b\u044f\u00a0\u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u043a\u043d\u043e\u043f\u043a\u0430, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0442\u0435\u043f\u0435\u0440\u044c \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043a\u00a0\u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c\u0443 \u043a\u043e\u0434\u0443 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b.<\/p>\n<p>\u0414\u043b\u044f\u00a0\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u043c \u043d\u0430\u0448 \u0444\u0430\u0439\u043b \u00ab\u043d\u0430\u0448\u0443 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443\u00bb \u043a\u00a0\u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c\u0443 \u0444\u0430\u0439\u043b\u0443 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b (\u043b\u0443\u0447\u0448\u0435 \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0432\u0432\u0435\u0440\u0445\u0443, \u043d\u043e\u00a0\u043c\u043e\u0436\u043d\u043e \u0433\u0434\u0435 \u0443\u0433\u043e\u0434\u043d\u043e, \u0433\u043b\u0430\u0432\u043d\u043e\u0435, \u0447\u0442\u043e\u0431\u044b \u043d\u0435\u00a0\u0431\u044b\u043b\u043e \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043e\u0448\u0438\u0431\u043e\u043a (\u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0432\u044b\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0440\u0430\u043d\u044c\u0448\u0435, \u0447\u0435\u043c \u043e\u043d\u0438 \u043e\u043f\u0438\u0441\u0430\u043d\u044b).<\/p>\n<p>\u0414\u043b\u044f\u00a0\u044d\u0442\u043e\u0433\u043e \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0441\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 <code>#include<\/code>.<\/p>\n<pre><code class=\"cpp\">#include \"Source1.cpp\"<\/code><\/pre>\n<p>\u041f\u0435\u0440\u0435\u043c\u0435\u0441\u0442\u0438\u043c\u0441\u044f \u0447\u0443\u0442\u044c \u0433\u043b\u0443\u0431\u0436\u0435 \u0438 \u0433\u0434\u0435 \u043d\u0438 \u0431\u0443\u0434\u044c \u0432\u00a0\u043a\u043e\u0434\u0435, \u043e\u0431\u044a\u044f\u0432\u0438\u043c \u043d\u043e\u0432\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435, \u0438 \u0441\u0440\u0430\u0437\u0443 \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u0443\u0435\u043c \u0441\u00a0\u043d\u0438\u043c\u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0438\u043d\u0438\u0446\u0438\u0430\u0446\u0438\u0438 (\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f) \u044d\u0442\u0438\u0445 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445, \u0443\u00a0\u043c\u0435\u043d\u044f \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0441\u0435\u043a\u0446\u0438\u044f \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445.<\/p>\n<pre><code class=\"cpp\">ObjectButton* MOYA_KNOPKA_AHAHAHA = new ObjectButton(100, 50, 100, 200);<\/code><\/pre>\n<p>\u041d\u0430\u0437\u0432\u0430\u0442\u044c \u043c\u043e\u0436\u043d\u043e \u043a\u0430\u043a\u00a0\u0443\u0433\u043e\u0434\u043d\u043e, \u0443\u00a0\u043c\u0435\u043d\u044f \u044d\u0442\u043e \u00ab\u041c\u041e\u042f \u041a\u041d\u041e\u041f\u041a\u0410 \u0410\u0425\u0410\u0425\u0410\u0425\u0410\u00bb, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c\u0441\u044f \u0432\u00a0\u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430\u0445 100\u00a0\u043f\u0438\u043a\u0441\u0435\u043b\u0435\u0439 \u043e\u0442\u00a0\u043b\u0435\u0432\u043e\u0433\u043e \u043a\u0440\u0430\u044f, 200\u00a0\u0441\u0432\u0435\u0440\u0445\u0443, \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c 100\u00a0\u043d\u0430 50\u00a0\u043f\u0438\u043a\u0441\u0435\u043b\u0435\u0439.<\/p>\n<p>\u0421\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \u043d\u0435\u00a0\u043f\u0440\u043e\u0441\u0442\u043e\u0439, \u0442\u0430\u043a \u043a\u0430\u043a\u00a0\u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u0435\u043d \u0441\u00a0\u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439. \u0417\u0432\u0435\u0437\u0434\u043e\u0447\u043a\u0430 \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u043d\u0430\u043c \u043e\u00a0\u0442\u043e\u043c, \u0447\u0442\u043e\u00a0\u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e (MOYA_KNOPKA_AHAHAHA) \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0435\u043c \u043d\u0430\u00a0\u0434\u0430\u043d\u043d\u044b\u0435 \u0442\u0438\u043f\u0430 \u00ab\u043d\u0430\u0448 \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445\u00bb (ObjectButton), \u0441\u00a0\u043a\u043e\u0442\u043e\u0440\u044b\u043c \u043c\u044b \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u0443\u0435\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 new, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u043d\u043e\u0432\u044b\u0439 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u043e\u0431\u044a\u0435\u043a\u0442\u0430, \u043f\u043e\u043f\u0443\u0442\u043d\u043e \u0432\u044b\u0437\u044b\u0432\u0430\u044f \u0438\u043d\u0438\u0446\u0438\u0438\u0440\u0443\u044e\u0449\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e (ObjectButton).<\/p>\n<p>\u041d\u0430\u0434\u0435\u044e\u0441\u044c, \u0441\u00a0\u044d\u0442\u0438\u043c \u043f\u043e\u043d\u044f\u0442\u043d\u043e, \u043d\u043e\u00a0\u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u043d\u0435\u0442, \u043d\u0438\u0447\u0435\u0433\u043e \u0441\u0442\u0440\u0430\u0448\u043d\u043e\u0433\u043e, \u0432\u0441\u0435 \u043f\u0440\u0438\u0434\u0435\u0442 \u0441\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c. \u041d\u0430\u0448\u0430 \u043a\u043d\u043e\u043f\u043a\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0430, \u043d\u043e, \u0435\u0441\u043b\u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u043c\u044b \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435\u00a0\u0443\u0432\u0438\u0434\u0438\u043c (\u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e\u00a0\u043a\u043d\u043e\u043f\u043a\u0430 \u043d\u0435\u00a0\u043e\u0442\u0440\u0438\u0441\u043e\u0432\u044b\u0432\u0430\u0435\u0442\u0441\u044f), \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u043a\u00a0\u0441\u0435\u043a\u0446\u0438\u0438 \u0441 \u00ab\u0441\u043e\u0431\u044b\u0442\u0438\u044f\u043c\u0438\u00bb (\u044d\u0442\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u044f WinProc).<\/p>\n<p>\u0418 \u0441\u0440\u0430\u0437\u0443 \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u00ab\u0441\u043e\u0431\u044b\u0442\u0438\u0439\u00bb:<\/p>\n<pre><code class=\"cpp\">    case WM_CREATE:     {      }     break;      case WM_LBUTTONDOWN:     {         MessageBox(NULL, TEXT(\"\u0422\u0435\u043a\u0441\u0442\"), TEXT(\"\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a\"), 0);      }     break;      case WM_KEYDOWN:     {      }     break;       case WM_MOUSEMOVE:     {      }     break;<\/code><\/pre>\n<p>\u0414\u0443\u043c\u0430\u044e, \u0438\u0437\u00a0\u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0439 \u043f\u043e\u043d\u044f\u0442\u043d\u043e, \u0437\u0430\u00a0\u0447\u0442\u043e\u00a0\u043e\u0442\u0432\u0435\u0447\u0430\u044e\u0442 \u044d\u0442\u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u044f. \u0414\u043b\u044f\u00a0\u043d\u0430\u0447\u0430\u043b\u0430 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u043c \u0441\u043e\u0431\u044b\u0442\u0438\u0435 WM_PAINT (\u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u043a\u0438):<\/p>\n<pre><code class=\"cpp\">            \/\/ \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0443\u0441\u043b\u043e\u0432\u0438\u0435, \u0435\u0441\u043b\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430             \/\/ help_button_first_draw_status \u0440\u0430\u0432\u043d\u043e 0,             \/\/ \u0437\u043d\u0430\u0447\u0438\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u044f Create \u0435\u0449\u0435 \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u043b\u0430\u0441\u044c,             \/\/ \u043f\u043e\u0441\u043b\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043d\u043e\u0432\u043e\u0433\u043e \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u0430, \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u043c             \/\/ \u0435\u0435, \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0432\u044b\u0447\u0438\u0442\u0430\u044f \u0440\u0430\u0437\u043c\u0435\u0440\u044b \u0431\u043e\u0440\u0434\u044e\u0440\u0430 \u0438 \u043c\u0435\u043d\u044e, \u0442\u0430\u043a \u043a\u0430\u043a             \/\/ \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u043a\u0438 \u0444\u043e\u0440\u043c\u044b \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043c\u043d\u043e\u0433\u043e \u0440\u0430\u0437,             \/\/ \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u0434\u043e \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u0431\u0443\u0434\u0443 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u044b \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u043c\u0435\u043d\u044e \u0438             \/\/ \u0431\u0430\u0440\u0434\u044e\u0440\u0430 \u043e\u043a\u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b             if (MOYA_KNOPKA_AHAHAHA->help_button_first_draw_status == 0) {                 MOYA_KNOPKA_AHAHAHA->Left = MOYA_KNOPKA_AHAHAHA->Left - 8;                 MOYA_KNOPKA_AHAHAHA->Top = MOYA_KNOPKA_AHAHAHA->Top - 51;                 MOYA_KNOPKA_AHAHAHA->Create(Form1, hdc);                 MOYA_KNOPKA_AHAHAHA->Left = MOYA_KNOPKA_AHAHAHA->Left + 8;                 MOYA_KNOPKA_AHAHAHA->Top = MOYA_KNOPKA_AHAHAHA->Top + 51;             }<\/code><\/pre>\n<p>\u0417\u0430\u043f\u0443\u0441\u0442\u0438\u043c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u0438 \u0443\u0432\u0438\u0434\u0438\u043c \u043d\u0435\u0447\u0442\u043e \u043f\u043e\u0434\u043e\u0431\u043d\u043e\u0435 (\u043d\u0435 \u0437\u0430\u0431\u044b\u0432\u0430\u0439\u0442\u0435 \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u044d\u0442\u043e\u0442 \u043a\u043e\u0434 \u043c\u0435\u0436\u0434\u0443 <strong><em>BeginPaint<\/em><\/strong> \u0438 <strong><em>EndPaint<\/em><\/strong>). <\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/fc3\/ca0\/8f7\/fc3ca08f7cea87920c08f9a7ad0f2320.png\" width=\"629\" height=\"442\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/fc3\/ca0\/8f7\/fc3ca08f7cea87920c08f9a7ad0f2320.png\"\/><\/figure>\n<p>\u041e\u0442\u043b\u0438\u0447\u043d\u043e! \u0412\u0441\u0435 \u043f\u0440\u043e\u0449\u0435 \u0447\u0435\u043c \u043a\u0430\u0436\u0435\u0442\u0441\u044f, \u0442\u0435\u043f\u0435\u0440\u044c \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u044e:<\/p>\n<p>\u0418 \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u0434\u043b\u044f\u00a0\u043d\u0430\u0436\u0430\u0442\u0438\u044f, \u0434\u043b\u044f\u00a0\u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u0432\u00a0\u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043f\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u043c \u043a\u043e\u0434 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f.<\/p>\n<pre><code class=\"cpp\">void AHAHAHA_BTN_ShowMessage() {     MessageBox(NULL, TEXT(\"\u0422\u0435\u043a\u0441\u0442\"), TEXT(\"\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a\"), 0); }<\/code><\/pre>\n<p>\u0412\u00a0\u0441\u043e\u0431\u044b\u0442\u0438\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0444\u043e\u0440\u043c\u044b (WM_CREATE) \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u043c \u043d\u0430\u0448\u0443 \u043a\u043d\u043e\u043f\u043a\u0443:<\/p>\n<pre><code class=\"cpp\">    case WM_CREATE:     {         MOYA_KNOPKA_AHAHAHA->ButtonClick = &amp;AHAHAHA_BTN_ShowMessage;         MOYA_KNOPKA_AHAHAHA->Caption = TEXT(\"\u0422\u043a\u043d\u0438 \u0438 \u0443\u0432\u0438\u0434\u0438\u0448\u044c\");      }<\/code><\/pre>\n<p>\u041f\u0440\u0438\u0432\u044f\u0436\u0435\u043c \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u043a\u00a0\u0441\u043e\u0431\u044b\u0442\u0438\u044e \u043d\u0430\u0436\u0430\u0442\u0438\u044f \u043a\u043d\u043e\u043f\u043a\u0438, \u0438 \u0438\u0437\u043c\u0435\u043d\u0438\u043c \u0442\u0435\u043a\u0441\u0442 \u043d\u0430\u00a0\u043a\u043d\u043e\u043f\u043a\u0435, \u00ab\u0443\u0441\u043b\u043e\u0432\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u00bb TEXT() \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0442\u0440\u0430\u043d\u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0443, \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u043a\u00a0\u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430\u043c \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0447\u0435\u0440\u0435\u0437 \u00ab\u2192\u00bb, \u043d\u043e\u00a0\u0435\u0441\u043b\u0438 \u043d\u0430\u0436\u0430\u0442\u044c \u00ab.\u00bb (\u0442\u043e\u0447\u043a\u0443, \u0432\u044b\u0441\u043a\u043e\u0447\u0438\u0442 \u043c\u0435\u043d\u044f \u0441\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430\u043c\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u0430, \u0438 \u043f\u0440\u0438\u00a0\u0432\u044b\u0431\u043e\u0440\u0435 \u0438\u0437\u00a0\u043c\u0435\u043d\u044f, \u0442\u043e\u0447\u043a\u0430 \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u0441\u044f \u043d\u0430\u00a0\u0441\u0442\u0440\u0435\u043b\u043e\u0447\u043a\u0443).<\/p>\n<p>\u0418 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044f\u044f\u00a0\u2014 \u044d\u0442\u043e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u00ab\u0442\u044b\u043a\u0430\u00bb \u043c\u044b\u0448\u043a\u043e\u0439 \u043f\u043e\u00a0\u043a\u043d\u043e\u043f\u043a\u0435:<\/p>\n<pre><code class=\"cpp\">    case WM_LBUTTONDOWN:     {         MOYA_KNOPKA_AHAHAHA->CheckMouseCoordinatesBeforeStartClickFunction(Form1);     }<\/code><\/pre>\n<p>\u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c, \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c, \u0432\u0438\u0434\u0438\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/c95\/e75\/59e\/c95e7559e6c7a0b0902811779b38a8b3.png\" width=\"721\" height=\"491\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/c95\/e75\/59e\/c95e7559e6c7a0b0902811779b38a8b3.png\"\/><\/figure>\n<p>\u0423\u00a0\u043c\u0435\u043d\u044f \u0442\u0435\u043a\u0441\u0442 \u0432\u044b\u043b\u0435\u0437 \u0437\u0430\u00a0\u043f\u0440\u0435\u0434\u0435\u043b\u044b \u043a\u043d\u043e\u043f\u043a\u0438, \u043d\u043e\u00a0\u043d\u0435\u00a0\u0441\u0443\u0442\u044c. \u041d\u0435\u00a0\u0431\u0443\u0434\u0435\u043c \u043e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f, \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u043d\u043e\u0432\u044b\u0439 \u0444\u0430\u0439\u043b (\u0443 \u043c\u0435\u043d\u044f \u043f\u043e\u00a0\u0441\u0442\u0430\u0440\u0438\u043d\u043a\u0435 Source2.cpp).<\/p>\n<h2>\u042d\u0442\u0430\u043f \u21164 \u041d\u0430\u0441\u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0435\u043e\u043f\u0438\u0441\u0443\u0435\u043c\u043e \u0441\u043b\u043e\u0436\u043d\u043e \u0447\u0442\u043e \u043b\u0435\u0433\u043a\u043e!<\/h2>\n<p>\u041d\u0430\u00a0\u044d\u0442\u043e\u0442 \u0440\u0430\u0437 \u043e\u043f\u0438\u0448\u0435\u043c \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f\u00a0\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043c\u043e\u0436\u0435\u0448\u044c \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044c, \u0438 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0443\u0434\u043e\u0431\u043d\u0443\u044e \u0440\u0430\u0431\u043e\u0442\u0443 \u0441\u00a0\u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u043c\u0438 \u0444\u0430\u0439\u043b\u0430\u043c\u0438 (\u043d\u0443 \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u0440\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f), \u043d\u0430\u0437\u043e\u0432\u0435\u043c \u0435\u0433\u043e \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u0442\u0435\u0440\u043c\u0438\u043d\u043e\u043c StringList, \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0439 \u043a\u043b\u0430\u0441\u0441 \u0435\u0441\u0442\u044c \u0432\u043e\u00a0\u043c\u043d\u043e\u0433\u0438\u0445 \u044f\u0437\u044b\u043a\u0430\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f.<\/p>\n<details class=\"spoiler\">\n<summary>\u0411\u043b\u0438\u0436\u0435 \u043a \u0434\u0435\u043b\u0443 (\u0412\u041f\u0415\u0420\u0415\u0414 \u0421\u041e\u0411\u0410\u041a\u0418! \u041a \u041f\u041e\u0411\u0415\u0414\u0415!)<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"cpp\">\/\/ \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 #pragma once  #include &lt;iostream> #include &lt;fstream> #include \"windows.h\" #include \"winuser.h\" #include \"winbase.h\" #include &lt;string>  #include \"stddef.h\" #include &lt;Strsafe.h> #include &lt;vector> using namespace std;  \/\/ \u0442\u0435\u043f\u0435\u0440\u044c \u0437\u0430\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u044d\u0442\u0430\u043f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043a\u043e\u0434\u0430, \/\/ \u0441 \u043c\u0438\u043d\u0438\u043c\u0443\u043c\u043e\u043c \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432, \u0438 \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c\u043e\u043c  \/\/ \u0442\u0435\u0440\u043c\u0438\u043d\u043e\u043b\u043e\u0433\u0438\u0438 (\u0434\u043b\u044f \u043f\u0440\u0438\u0434\u0430\u043d\u0438\u044f \"\u043a\u0430\u043d\u043e\u043d\u0438\u0447\u043d\u043e\u0441\u0442\u0438\" \/\/ \u043d\u0430\u0448\u0435\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435) class ObjectTextFileLoader {      \/\/ \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u0442\u043e\u0442\u044b \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u043e\u0431\u044a\u044f\u0441\u043d\u044e \u043e\u0434\u0438\u043d \u043c\u043e\u043c\u0435\u043d\u0442,     \/\/ \u043c\u0430\u043b\u043e \u043a\u0442\u043e \u043f\u043e\u043c\u043d\u0438\u0442, \u043d\u043e \u0442\u043e\u0447\u043d\u043e \u0442\u0430\u043a\u0436\u0435 \u043a\u0430\u043a function,      \/\/ if, while, switch, \u0438 \u0442\u0434, \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f      \/\/ \"\u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430\u043c\u0438 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439\", private \u0441\u0435\u043a\u0446\u0438\u044f     \/\/ \u0432 \u043a\u043b\u0430\u0441\u0441\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u043e\u043c \u043a\u043b\u0430\u0441\u0441\u0430, \u0430 public \u0435\u0433\u043e     \/\/ \u0442\u0435\u043b\u043e\u043c (\u043f\u043e \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0438 \u0441 {\u0442\u0435\u043b\u043e\u043c \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439}), \u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 private:      \/\/ \u043f\u0443\u0442\u044c \u043a \u0444\u0430\u0439\u043b\u0443     LPCWSTR HFilePath;      \/\/ \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0444\u0430\u0439\u043b\u0430     string HText;      \/\/ \u043c\u0430\u0441\u0441\u0438\u0432 \u0441\u0442\u0440\u043e\u043a \u0444\u0430\u0439\u043b\u0430, \u0442\u0430\u043a \u043a\u0430\u043a \u0432 \u0441++ \u043d\u0435\u0442 \u0442\u0430\u043a\u043e\u0433\u043e \u043f\u043e\u043d\u044f\u0442\u0438\u044f      \/\/ \u043a\u0430\u043a \"\u0431\u0435\u0437\u0440\u0430\u0437\u043c\u0435\u0440\u043d\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432\", \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0431\u044b     \/\/ \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u044c, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0442\u0438\u043f\u0430 vector (\u0438\u0437      \/\/ \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 std), \u043e\u043d\u0430 \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u0435\u0442 \u043f\u043e\u0434 \u0441\u043e\u0431\u043e\u0439 \u0430\u043d\u0430\u043b\u043e\u0433 \u043c\u0430\u0441\u0441\u0438\u0432\u0430     std::vector&lt;std::string> HStringsList;  public:       \/\/ \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440 \u043a\u043b\u0430\u0441\u0441\u0430 (\u0444\u0443\u043d\u043a\u0446\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f     \/\/ \u0432 \u043c\u043e\u043c\u0435\u043d\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043d\u043e\u0432\u043e\u0433\u043e \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u0430)     ObjectTextFileLoader(LPWSTR file_path)     {         \/\/ \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0435\u043c \u043f\u0443\u0442\u044c \u043a \u0444\u0430\u0439\u043b\u0443 (\u0438\u0437 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438)         \/\/ \u0432 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e FilePath (\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0432 \u043a\u043b\u0430\u0441\u0441\u0435, \u0438\u043b\u0438         \/\/ \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u043c \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u0430)         HFilePath = file_path;     }      \/\/ \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0438 \u0447\u0442\u0435\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430, \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c     \/\/ \u0444\u0443\u043d\u043a\u0446\u0438\u044e CreateFileW, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u0442 \u0444\u0430\u0439\u043b \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f     \/\/      LPSTR LoadFromFile(LPCWSTR file_path)     {         HFilePath = file_path;          \/\/ \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0444\u0430\u0439\u043b \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u043e\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f,         \/\/ \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u0438 \u0444\u0430\u0439\u043b\u0430         HANDLE original_file = CreateFileW(HFilePath, GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);          \/\/ \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e file_size \u0442\u0438\u043f\u0430 DWORD (\u0440\u0430\u0437\u043d\u043e\u0432\u0438\u0434\u043d\u043e\u0441\u0442\u044c         \/\/ \u0447\u0438\u0441\u043b\u043e\u0432\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439, \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0434\u0432\u043e\u0438\u0447\u043d\u044b\u043c\u0438 \u0447\u0438\u0441\u043b\u0430\u043c\u0438),         \/\/ \u0441 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u0443\u0435\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438         \/\/ GetFileSize, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0440\u0430\u0437\u043c\u0435\u0440 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430         \/\/ \u0432 \u0431\u0438\u0442\u0430\u0445         DWORD file_size = GetFileSize(original_file, NULL);          \/\/ \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435         \/\/ \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u0444\u0430\u0439\u043b\u0430, \u0438 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0430         \/\/ \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0432\u043d\u0443\u0442\u0440\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b,         \/\/ \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0447\u0438\u0441\u043b\u043e\u0432\u0443\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e         \/\/ current_read_position (\u043d\u0443\u0436\u043d\u0430 \u0434\u043b\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438         \/\/ ReadFile, \u0434\u043b\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u043e\u0433\u043e, \u0438\u043b\u0438         \/\/ \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e (\u043f\u043e\u043b\u043d\u043e\u0433\u043e) \u0447\u0442\u0435\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u0430),         \/\/ \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f,         \/\/ \u043d\u043e \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u0430 \u0434\u043b\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438         DWORD current_read_position = 0;          \/\/ \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f         \/\/ \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 tmp_result, \u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u0443\u0435\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442         \/\/ \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u0438 \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435, \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u0432 file_size,         \/\/ \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0441\u0440\u0430\u0437\u0443 \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u0443\u044e \u043f\u0430\u043c\u044f\u0442\u044c \u043d\u0443\u043b\u044f\u043c\u0438         HGLOBAL handler_tmp_result = GlobalAlloc(GHND, file_size);          \/\/ \u0444\u0438\u043a\u0441\u0438\u0440\u0443\u0435\u043c \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0439 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442 \u043f\u0430\u043c\u044f\u0442\u0438 (\u0434\u043b\u044f \u0437\u0430\u0449\u0438\u0442\u044b \u043e\u0442         \/\/ \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u0434\u0440\u0443\u0433\u0438\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u044f\u0445, \u0432\u043d\u0443\u0442\u0440\u0438 \u043d\u0430\u0448\u0435\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b),         \/\/ \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 (\u0442\u043e \u0435\u0441\u0442\u044c \u0434\u043b\u044f \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f         \/\/ \u0446\u0435\u043b\u043e\u0441\u0442\u043d\u043e\u0441\u0442\u0438 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c\u044b\u0445 \u0438\u0437 \u0444\u0430\u0439\u043b\u043e\u0432 \u0434\u0430\u043d\u043d\u044b\u0445), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u0440\u0430\u0437\u0443          \/\/ \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u043a\u0430\u043a \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 LPSTR (\u0444\u0443\u043d\u043a\u0446\u0438\u044f ReadFile         \/\/ \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u0432 \u0441\u0435\u0431\u044f \u043b\u044e\u0431\u043e\u0439 \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439,         \/\/ \u0432 \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043d\u0443\u0436\u043d\u043e \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043d\u043d\u043e\u0435)         LPSTR tmp_result = (LPSTR)GlobalLock(handler_tmp_result);          \/\/ \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e ReadFile (\u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u043c         \/\/ \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0441 \"\u0444\u0430\u0439\u043b\u043e\u0432\u044b\u043c \u043f\u043e\u0442\u043e\u043a\u043e\u043c\", \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u044f \u0441\u0447\u0438\u0442\u0430\u043d\u043d\u044b\u0445         \/\/ \u0434\u0430\u043d\u043d\u044b\u0445, \u043e\u0431\u0449\u0438\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0431\u0430\u0439\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c, \u043f\u043e\u0437\u0438\u0446\u0438\u044e, \u0441         \/\/ \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043d\u0443\u0436\u043d\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u0442\u044c \u0447\u0442\u0435\u043d\u0438\u0435 (\u043c\u044b \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435         \/\/ \u0444\u0430\u0439\u043b\u0430 \u0446\u0435\u043b\u0438\u043a\u043e\u043c, \u0438 \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u043c\u0435\u0449\u0430\u0435\u043c \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e tmp_result, \u043d\u043e \u043b\u0443\u0447\u0448\u0435         \/\/ \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u0447\u0442\u0435\u043d\u0438\u0435 (\u0441 \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c         \/\/ \u0431\u0430\u0439\u0442\u043e\u0432, \u0447\u0438\u0442\u0430\u0435\u043c\u044b\u0445 \u0437\u0430 1 \u0432\u044b\u0437\u043e\u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043a \u043f\u0440\u0438\u043c\u0435\u0440\u0443 1024) \u0447\u0435\u0440\u0435\u0437 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u0443\u044e         \/\/ \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e, \u0432 \u0446\u0438\u043a\u043b\u0435 (\u0447\u0442\u043e\u0431\u044b \u0441\u0440\u0430\u0437\u0443 \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u0438\u043b\u0438 \u0434\u0435\u0448\u0438\u0444\u0440\u043e\u0432\u044b\u0432\u0430\u0442\u044c         \/\/ \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435), \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442 (NULL), \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d \u0434\u043b\u044f \u0441\u043b\u0443\u0447\u0430\u0435\u0432,         \/\/ \u043a\u043e\u0433\u0434\u0430 \u0444\u0430\u0439\u043b \u043e\u0442\u043a\u0440\u044b\u0442 \u043d\u0435 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u0447\u0442\u0435\u043d\u0438\u044f, \u0430 \u0441 \u043c\u0443\u043b\u044c\u0442\u0438\u0434\u043e\u0441\u0442\u0443\u043f\u043e\u043c (\u0447\u0442\u0435\u043d\u0438\u0435, \u0437\u0430\u043f\u0438\u0441\u044c,         \/\/ \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430\u043c\u0438, \u0438 \u0442\u0434), \u0434\u043b\u044f \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u044f \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0443\u044e         \/\/ \u043f\u043e\u0437\u0438\u0446\u0438\u044e \u0431\u0430\u0439\u0442         ReadFile(original_file, tmp_result, file_size, &amp;current_read_position, NULL);          \/\/ \u0440\u0430\u0437\u0431\u043b\u043e\u043a\u0438\u0440\u0443\u0435\u043c, \u0440\u0430\u043d\u0435\u0435 \u0437\u0430\u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043a\u0443\u0441\u043e\u043a \u043f\u0430\u043c\u044f\u0442\u0438, \u0442\u0430\u043a \u043a\u0430\u043a         \/\/ \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0443\u0436\u0435 \u043d\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0430 (\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0435\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e)         GlobalUnlock(handler_tmp_result);          \/\/ \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0444\u0430\u0439\u043b\u043e\u0432\u044b\u0439 \u043f\u043e\u0442\u043e\u043a, \u0442\u0430\u043a \u043a\u0430\u043a \u0444\u0430\u0439\u043b \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u043d\u0443\u0436\u0435\u043d         CloseHandle(original_file);          \/\/ \u0432\u0435\u0440\u043d\u0435\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442         HText = tmp_result;          \/\/ \u0432\u044b\u0432\u043e\u0434\u0438\u043c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435         MessageBox(NULL, TEXT(\"\u0422\u0435\u043a\u0441\u0442 \u0431\u044b\u043b \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d \u0438\u0437 \u0444\u0430\u0439\u043b\u0430\"), TEXT(\"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0438\u0437 \u0442\u0435\u043a\u0441\u0442\u0430\"), 0);         return tmp_result;      }      \/\/ \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0434\u043b\u044f \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u0442\u0440\u043e\u043a\u0438 string \u0432 \u0441\u0442\u0440\u043e\u043a\u0443 LPCWSTR,     \/\/ \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u0443 \u043d\u0430\u0441 \u0443\u0436\u0435 \u0435\u0441\u0442\u044c \u0442\u0430\u043a\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f (\u0432 \u0434\u0440\u0443\u0433\u043e\u043c \u043a\u043b\u0430\u0441\u0441\u0435), \u043d\u043e     \/\/ \u0442\u0430\u043a \u043a\u0430\u043a \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043d\u0435 \u0431\u043e\u043b\u044c\u0448\u0430\u044f, \u043d\u0438\u0447\u0435\u0433\u043e \u0441\u0442\u0440\u0430\u0448\u043d\u043e\u0433\u043e \u043d\u0435 \u0441\u043b\u0443\u0447\u0438\u0442\u044c\u0441\u044f \u0435\u0441\u043b\u0438 \u0435\u0435      \/\/ \u043f\u0440\u043e\u0434\u0443\u0431\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c (\u043a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u043d\u0430\u0448\u0435\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043d\u0435 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442     \/\/ \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0431\u043e\u0439, \u0442\u0430\u043a \u043a\u0430\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430     \/\/ \u0441\u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0430 \u043f\u043e \u0441\u0445\u0435\u043c\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \"\u0432\u0441\u0435 \u043a \u043e\u0434\u043d\u043e\u043c\u0443\")     LPCWSTR ConvertToLPCWSTR(string a) {         LPWSTR tmp_return = new WCHAR[a.length()];         MultiByteToWideChar(             CP_ACP,             MB_ERR_INVALID_CHARS,             a.c_str(),             a.size(),             tmp_return,             a.length()         );         tmp_return[a.length()] = 0;         return tmp_return;     }      \/\/ \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0434\u043b\u044f \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f     \/\/ \u0442\u0435\u043a\u0441\u0442\u0430 \u0432 \u043a\u043e\u043d\u0435\u0446 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0433\u043e     \/\/ \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430     void Append(string text)     {         \/\/ \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e         \/\/ \u0438\u0437 \u043a\u043b\u0430\u0441\u0441\u0430 string         HText.append(text);     }      \/\/ \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f     \/\/ \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u0431\u0443\u043a\u0432\u044b, \u0438\u0441\u0445\u043e\u0434\u044f \u0438\u0437 \u0438\u043d\u0434\u0435\u043a\u0441\u0430      \/\/ \u044d\u0442\u043e\u0439 \u0431\u0443\u043a\u0432\u044b \u0432 \u0442\u0435\u043a\u0441\u0442\u0435     string GetOneLetterByIndex(int letter_index)     {         string tmp_return = \"\";         \/\/ for \u044d\u0442\u043e \u0440\u0430\u0437\u043d\u043e\u0432\u0438\u0434\u043d\u043e\u0441\u0442\u044c \u0446\u0438\u043a\u043b\u0430, \u0432\u043d\u0443\u0442\u0440\u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442         \/\/ \u0441\u0440\u0430\u0437\u0443 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0441\u0447\u0435\u0442\u0447\u0438\u043a, \u0443\u0441\u043b\u043e\u0432\u0438\u0435, \u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f \u0434\u043b\u044f \u043f\u043e\u0432\u0442\u043e\u0440\u0430         for (int i = 0; i &lt; HText.length(); i++)         {             \/\/ \u0435\u0441\u043b\u0438 \u0438\u043d\u0434\u0435\u043a\u0441 \u0441\u0447\u0435\u0442\u0447\u0438\u043a\u0430 \u0440\u0430\u0432\u0435\u043d             \/\/ \u0438\u043d\u0434\u0435\u043a\u0441\u0443 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442             \/\/ \u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u0435\u043c \u0446\u0438\u043a\u043b             if (i == letter_index)             {                 tmp_return = HText[letter_index];                 i = HText.length();             }         }         return tmp_return;     }      \/\/ \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0434\u043b\u044f \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u043e\u0432\u044b\u0445 \u0441\u0442\u0440\u043e\u043a     \/\/ \u0432 HStringsList     void AddEnd(int count)     {         \/\/ \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e         \/\/ \u0441\u0442\u0440\u043e\u043a \u0432 HStringsList, \u043a \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c         \/\/ count         int a = Count() + count;          \/\/ \u0438\u043c\u0437\u0435\u043d\u044f\u0435\u043c \u0440\u0430\u0437\u043c\u0435\u0440 \u043d\u0430 \u043d\u043e\u0432\u044b\u0439         HStringsList.resize(a);     }      \/\/ \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0441\u0442\u0440\u043e\u043a \u0432 HStringList     int Count()     {         return HStringsList.size();     }      \/\/ \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0434\u043b\u044f \u043f\u043e\u043a\u0430\u0437\u0430 \u043d\u0430 \u044d\u043a\u0440\u0430\u043d\u0435     \/\/ \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0433\u043e \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438     void ShowStringText(int string_index)     {         \/\/ \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432\u043e\u0435 \u043e\u043a\u043d\u043e, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u043c         \/\/ \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u0438\u0437 \u0442\u0435\u043a\u0441\u0442\u0430         MessageBox(NULL, ConvertToLPCWSTR(HStringsList[string_index]), TEXT(\"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0438\u0437 \u0442\u0435\u043a\u0441\u0442\u0430\"), 0);     }      \/\/ \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0434\u043b\u044f \u0440\u0430\u0437\u0431\u043e\u0440\u0430     \/\/ \u0442\u0435\u043a\u0441\u0442\u0430 \u0444\u0430\u0439\u043b\u0430 \u043f\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u043c \u0441\u0442\u0440\u043e\u043a\u0430\u043c     void DetouchInToStringList()     {         \/\/         \/\/         \/\/ \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u0442\u0440\u043e\u043a \u0438\u0437 \u0442\u0435\u043a\u0441\u0442\u0430         \/\/ (\u0431\u044b\u043b\u043e \u0431\u044b \u043f\u0440\u043e\u0449\u0435 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e)         \/\/         \/\/          \/\/ \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0441\u0447\u0435\u0442\u0447\u0438\u043a \u0441\u0442\u0440\u043e\u043a \u0438\u0437 \u0442\u0435\u043a\u0441\u0442\u0430         int strings_count = 0;          \/\/ \u0435\u0441\u043b\u0438 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u0442\u0435\u043a\u0441\u0442\u0430 \u043f\u0443\u0441\u0442\u043e\u0435         \/\/ \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e         if (HText.empty() == true)         {             \/\/ exit \u0430\u043d\u0430\u043b\u043e\u0433 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438             \/\/ (\u043d\u0443 \u0442\u043e\u0447\u043d\u0435\u0435 return \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f             \/\/ \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e exit, \u043d\u043e \u043d\u0435 \u0441\u0443\u0442\u044c)             exit;         }          \/\/ \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u0446\u0438\u043a\u043b\u0430         int a = 0;         int b = HText.length();          \/\/ \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0446\u0438\u043a\u043b (\u044d\u0442\u043e \u0438\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0446\u0438\u043a\u043b),         \/\/ \u043e\u043d \u0441\u043e\u0437\u0434\u0430\u043d \u0447\u0442\u043e\u0431\u044b \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0432\u043d\u0443\u0442\u0440\u0438 \u0446\u0438\u043a\u043b\u0430          \/\/ \u0431\u044b\u043b\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u044b \u0445\u043e\u0442\u044f \u0431\u044b \u043e\u0434\u0438\u043d \u0440\u0430\u0437, \u0434\u0430\u0436\u0435         \/\/ \u0435\u0441\u043b\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u0435 \u0446\u0438\u043a\u043b\u0430 \u043d\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f         do {                          \/\/ \u0435\u0441\u043b\u0438 \u043a\u043e\u0434 \u0441\u0438\u043c\u0432\u043e\u043b\u0430 (\u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0431\u0443\u043a\u0432\u044b) \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043a\u043e\u0434\u0443             \/\/ \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0433\u043e \u0441\u043b\u043e\u0432\u0430, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u0441\u0438\u043c\u0432\u043e\u043b (\u0441\u0438\u043c\u0432\u043e\u043b n              \/\/ \u0447\u0435\u0440\u0435\u0437 \u043a\u043e\u0441\u0443\u044e \u0447\u0435\u0440\u0442\u0443, \u044f \u0433\u043e\u0432\u043e\u0440\u0438\u043b \u043e\u0431 \u044d\u0442\u043e\u043c \u0440\u0430\u043d\u044c\u0448\u0435 \"\\n\")             \/\/ \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0430 \u043d\u0430 \u043d\u043e\u0432\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043a\u043e\u0434 \u0443\u0441\u043b\u043e\u0432\u0438\u044f             \/\/ (\u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u044d\u0442\u043e \u0434\u0432\u0430 \u043a\u043e\u0434\u0430 #10+#13, 10 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435             \/\/ \u0441\u0442\u0440\u043e\u043a\u0438, 13 \u043d\u043e\u0432\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430)             if (HText[a] == 13)             {                 strings_count = strings_count + 1;             }             a++;         } while (a &lt; b);          \/\/ \u043f\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0438 \u0446\u0438\u043a\u043b\u0430 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044e\u044e \u0441\u0442\u0440\u043e\u043a\u0443         strings_count = strings_count + 1;          \/\/         \/\/         \/\/ \u0422\u0435\u043f\u0435\u0440\u044c \u043a\u043e\u0433\u0434\u0430 \u043c\u044b \u0437\u043d\u0430\u0435\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u0442\u0440\u043e\u043a \u0432 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u043c \u0442\u0435\u043a\u0441\u0442\u0435         \/\/ \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c \u0440\u0430\u0437\u043c\u0435\u0440 HStringsList, \u0432\u044b\u0440\u0435\u0437\u0430\u0435\u043c \u0438\u0437 \u0442\u0435\u043a\u0441\u0442\u0430 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u044b \u0441\u0442\u0440\u043e\u043a         \/\/ \u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0430\u0435\u043c \u044d\u0442\u043e\u0442 \u0442\u0435\u043a\u0441\u0442 \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 HStringsList         \/\/         \/\/          \/\/ \u043f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u0442\u0440\u043e\u043a \u0432 HStringsList         HStringsList.resize(strings_count);          \/\/ \u0441\u043e\u0437\u0434\u0430\u0435\u043c (\u043f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043c, \u043e\u043d\u0438 \u0443\u0436\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u044b) \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435         a = 0;         b = HText.length();          \/\/ \u043f\u0435\u0440\u0432\u044b\u0439 \u0441\u0438\u043c\u0432\u043e\u043b \u0442\u0435\u043a\u0441\u0442\u0430 \u0442\u0435\u0440\u044f\u0435\u0442\u0441\u044f (\u043d\u0435 \u043f\u043e\u043d\u044f\u0442\u043d\u043e \u043a\u0443\u0434\u0430,         \/\/ \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0443 \u043a\u0440\u0438\u0432\u0438\u0437\u043d\u0430 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430, \u0438\u043b\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0432          \/\/ \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u043f\u0430\u043c\u044f\u0442\u044c\u044e), \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0435\u0433\u043e         string c = GetOneLetterByIndex(0);         int d = 0;          \/\/ \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0446\u0438\u043a\u043b          do {              \/\/ \u0435\u0441\u043b\u0438 \u043a\u043e\u0434 \u0441\u0438\u043c\u0432\u043e\u043b\u0430 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043a\u043e\u0434\u0443             \/\/ \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0433\u043e \u0441\u043b\u043e\u0432\u0430, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u0441\u0438\u043c\u0432\u043e\u043b (\\n)             \/\/ \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0430 \u043d\u0430 \u043d\u043e\u0432\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043a\u043e\u0434 \u0443\u0441\u043b\u043e\u0432\u0438\u044f             if (HText[a] == 13)             {                 \/\/ \u043f\u043e\u043c\u0435\u0449\u0430\u0435\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0432 \u0441\u0442\u0440\u043e\u043a\u0443 \u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u0435 \u0441\u0442\u0440\u043e\u043a                 HStringsList[d] = c;                 c = \"\";                 d++;             }             a++;              \/\/ \u043f\u043e\u043c\u0435\u0449\u0430\u0435\u043c \u0441\u0438\u043c\u0432\u043e\u043b \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e, \u043a\u043e\u0442\u043e\u0440\u0430\u044f             \/\/ \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442 \u0441\u0442\u0440\u043e\u043a\u0443, \u043d\u043e \u043f\u0440\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u0438, \u0447\u0442\u043e \u043a\u043e\u0434 \u0441\u0438\u043c\u0432\u043e\u043b\u0430             \/\/ \u043d\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0441\u0438\u043c\u0432\u043e\u043b\u0443 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0430 \u043d\u0430 \u043d\u043e\u0432\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443             if (HText[a] != '\\n')             {                 c = c + HText[a];             }         } while (a &lt; b);          \/\/ \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044e\u044e \u0441\u0442\u0440\u043e\u043a\u0443, \u0442\u0430\u043a \u043a\u0430\u043a         \/\/ \u043d\u0430\u0448\u0430 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f strings_count \u0441\u043e\u0434\u0435\u0440\u0436\u0438 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e         \/\/ \u0441\u0442\u0440\u043e\u043a, \u0430 \u0441\u0447\u0435\u0442 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 HStringsList \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441 0,         \/\/ \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0438\u043d\u0434\u0435\u043a\u0441 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 strings_count - 1         HStringsList[strings_count - 1] = c;     }      \/\/ \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0434\u043b\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f     \/\/ \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0432 HStringsList     void ChangeInString(int index, string new_value)     {         HStringsList[index] = new_value;     }      \/\/ \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0433\u043e \u0441\u0442\u0440\u043e\u043a\u0438     string Strings(int index)     {         return HStringsList[index];     }      \/\/ \u0438 \u0435\u0435 \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u0443 \u0434\u043b\u044f LPCWSTR     LPCWSTR StringsA(int index)     {         return ConvertToLPCWSTR(HStringsList[index]);     }      \/\/ \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0434\u043b\u044f \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u0430     void SaveToFile(LPCWSTR file_path)     {         \/\/ \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435         string tmp_buffer = \"\";         int a = 0;         int b = Count() - 1;          \/\/ \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0446\u0438\u043a\u043b \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u043a\u0438         \/\/ \u043d\u043e\u0432\u043e\u0433\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430         \/\/ \u0438\u0437 HStringsList         while (a &lt; b)         {             tmp_buffer = tmp_buffer + HStringsList[a] + \"\\n\";             a++;         }          \/\/ \u0442\u0430\u043a \u043a\u0430\u043a \u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u043e\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u043d\u0435 \u043d\u0443\u0436\u0435\u043d         \/\/ \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044e\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \u0431\u0435\u0437 \u043d\u0435\u0433\u043e         tmp_buffer = tmp_buffer + HStringsList[a];          \/\/ \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u0443\u0435\u043c \u043d\u043e\u0432\u043e\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0432 LPCWSTR (\u0434\u0440\u0443\u0433\u0438\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u043f\u043e\u0434 \u0440\u0443\u043a\u043e\u0439 \u043d\u0435\u0442)         LPCWSTR tmp_result = ConvertToLPCWSTR(tmp_buffer);          \/\/ \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0431\u0430\u0439\u0442\u043e\u0432 \u0434\u043b\u044f \u0437\u0430\u043f\u0438\u0441\u0438         DWORD file_size = tmp_buffer.length() * sizeof(wchar_t);          \/\/ \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e (\u0441\u0447\u0435\u0442\u0447\u0438\u043a \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0445 \u0431\u0430\u0439\u0442\u043e\u0432)         DWORD current_read_position = 0;          \/\/ \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0444\u0430\u0439\u043b\u043e\u0432\u044b\u0439 \u043f\u043e\u0442\u043e\u043a (\u0442\u0435\u043f\u0435\u0440\u044c GENERIC_WRITE \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u0437\u0430\u043f\u0438\u0441\u0438)         HANDLE original_file = CreateFileW(file_path, GENERIC_WRITE, 0, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);          \/\/ \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u0432 \u0444\u0430\u0439\u043b \u0432\u0441\u0435 \u0437\u0430 \u043e\u0434\u0438\u043d \u0440\u0430\u0437 (\u0442\u0430\u043a \u043b\u0443\u0447\u0448\u0435 \u043d\u0435 \u0434\u0435\u043b\u0430\u0442\u044c)         WriteFile(original_file, tmp_result, file_size, &amp;current_read_position, NULL);          \/\/ \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0444\u0430\u0439\u043b\u043e\u0432\u044b\u0439 \u043f\u043e\u0442\u043e\u043a         CloseHandle(original_file);          \/\/ \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435         MessageBox(NULL, TEXT(\"\u0422\u0435\u043a\u0441\u0442 \u0431\u044b\u043b \u0437\u0430\u043f\u0438\u0441\u0430\u043d \u0432 \u0444\u0430\u0439\u043b\"), TEXT(\"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0438\u0437 \u0442\u0435\u043a\u0441\u0442\u0430\"), 0);     } }; <\/code><\/pre>\n<\/p>\n<\/div>\n<\/details>\n<p>\u041d\u0443 \u0438 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u0435\u0440\u0435\u0434\u0435\u043b\u0430\u0435\u043c \u043a\u043e\u0434 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b (\u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043c \u0435\u0433\u043e \u0432\u00a0\u043f\u043e\u0440\u044f\u0434\u043e\u043a), \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043a\u043d\u043e\u043f\u043e\u043a, \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0440\u0430\u0431\u043e\u0442\u0443 \u0441\u00a0\u043a\u043b\u0430\u0432\u0438\u0448\u0430\u043c\u0438, \u043d\u0430\u0434\u043f\u0438\u0441\u0438 (\u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0438\u0433\u0440\u0430\u0442\u044c\u0441\u044f \u0441\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430\u043c\u0438 cfg \u0432\u00a0\u043d\u0430\u0448\u0435\u0439 \u043a\u043d\u043e\u043f\u043a\u0435, \u0438 \u0443\u0436\u0435 \u0438\u0437\u00a0\u043e\u0434\u043d\u043e\u0439 \u043a\u043d\u043e\u043f\u043a\u0438 \u0443\u00a0\u043d\u0430\u0441 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f 3\u00a0\u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430, \u043a\u043d\u043e\u043f\u043a\u0430, \u0442\u0435\u043a\u0441\u0442, \u043f\u0430\u043d\u0435\u043b\u044c), \u0440\u0430\u0431\u043e\u0442\u0443 \u0441\u00a0\u0444\u0430\u0439\u043b\u043e\u043c, \u043d\u0443 \u0438 \u0442\u0430\u043a \u043f\u043e\u00a0\u043c\u0435\u043b\u043e\u0447\u0438.<\/p>\n<details class=\"spoiler\">\n<summary>\u041f\u0430\u0440\u0430 \u043f\u0430 \u043f\u0430<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"cpp\">\/\/ WindowsProject1.cpp : \u041e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0442\u043e\u0447\u043a\u0443 \u0432\u0445\u043e\u0434\u0430 \u0434\u043b\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f. \/\/  \/\/ \u044d\u0442\u043e\u0442 \u043a\u0443\u0441\u043e\u043a \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c \/\/ \u0434\u0438\u0440\u0435\u043a\u0442\u0438\u0432\u0430 pragma once \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u0435\u0442 \/\/ \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0431\u0430\u0433\u0430 \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435, \/\/ \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u043e\u0438\u0437\u043e\u0439\u0442\u0438 \u0438\u0437-\u0437\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0434\u043b\u044f \/\/ \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a (\u0444\u0430\u0439\u043b\u043e\u0432 \u0441 \u0437\u0430\u0433\u043e\u0442\u043e\u0432\u043a\u0430\u043c\u0438 \u043a\u043e\u0434\u0430) \/\/ include, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043d\u0430 \u0441\u0432\u043e\u0435 \u043c\u0435\u0441\u0442\u043e \/\/ \u0432\u0441\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0444\u0430\u0439\u043b\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u044b\u043b \u0443\u043a\u0430\u0437\u0430\u043d \/\/ (\u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u044b include \u0432\u043d\u0443\u0442\u0440\u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u043e\u0433\u043e \/\/ \u0444\u0430\u0439\u043b\u0430) \u043f\u0440\u0438 \u0432\u044b\u0437\u043e\u0432\u0435, \u0438\u0437 \u0437\u0430 \u0447\u0435\u0433\u043e \u043c\u043e\u0433\u0443 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0442\u044c \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \/\/ \u043e\u0448\u0438\u0431\u043a\u0438 \u0438 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u0441\u0430\u043c\u043e\u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f (\u043a\u043e\u0433\u0434\u0430 \/\/ \u043e\u0434\u043d\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0441\u0441\u044b\u043b\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0432\u0442\u043e\u0440\u0443\u044e, \u0430 \u0432\u0442\u043e\u0440\u0430\u044f \u043d\u0430 \/\/ \u043f\u0435\u0440\u0432\u0443\u044e), \u0432 \u0434\u0432\u0443\u0445 \u0441\u043b\u043e\u0432\u0430\u0445 \u0432\u0441\u0435 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 \u0441\u043e\u0431\u0438\u0440\u0430\u044e\u0442\u0441\u044f \/\/ \u0432 \u043e\u0434\u043d\u0438 \u0434\u043b\u0438\u043d\u043d\u044b\u0439 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 (\u043a\u043e\u043c\u0430\u043d\u0434\u0430\u043c\u0438 include), \/\/ \u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 pragma once \u0443\u0434\u0430\u043b\u044f\u0435\u0442 \u0432\u0441\u0435 \u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u044b, \/\/ \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0430\u043c\u0443\u044e \u043f\u0435\u0440\u0432\u0443\u044e include, \/\/ \u043b\u0438\u0447\u043d\u043e \u044f \u043d\u0430\u0447\u0438\u043d\u0430\u044e \u043b\u044e\u0431\u043e\u0439 \u0444\u0430\u0439\u043b \u0441 pragma once, \/\/ \u0447\u0442\u043e \u0431\u044b \u043d\u0435 \u0431\u0435\u0441\u043f\u043e\u043a\u043e\u0438\u0442\u0441\u044f \u043e \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u044f\u0445, \u043d\u043e \u044d\u0442\u043e \/\/ \u043d\u0435 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e (\u043a\u0430\u0440\u043e\u0447\u0435 \u043f\u043e\u043a\u0430 \u043d\u0435 \u0437\u0430\u043c\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0439\u0442\u0435\u0441\u044c) #pragma once   \/\/ \u0438 \u043d\u0430\u0447\u0430\u0442\u044c \u043e\u0442\u0441\u044e\u0434\u0430 \/\/ \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \/\/ \u043d\u0430\u0431\u043e\u0440\u044b \u0433\u043e\u0442\u043e\u0432\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u043a\u0430\u043a \u0432 \u044d\u0442\u043e\u043c \u0444\u0430\u0439\u043b\u0435,  \/\/ \u0433\u0434\u0435 \u0443\u0436\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0435 \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0438 (\u0437\u0430\u0433\u043e\u0442\u043e\u0432\u043a\u0438) \u0434\u043b\u044f \/\/ \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043d\u0430\u0448\u0435\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b #include \"framework.h\" #include \"WindowsProject1.h\" #include \"windows.h\" #include \"winuser.h\"  #include &lt;string>  #include &lt;stdlib.h>   using namespace std;  #include \"Source.cpp\" #include \"Source1.cpp\" #include \"Source2.cpp\"  \/\/ \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043c \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0442\u0435\u0440\u043c\u0438\u043d  \/\/ (\u0447\u0438\u0442\u0430\u0439 \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0440\u0430\u0437\u043d\u043e\u0432\u0438\u0434\u043d\u043e\u0441\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439) \/\/ \u043f\u043e\u0434 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c MAX_LOADSTRING \u0438 \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u0443\u0435\u043c \/\/ \u0441 \u043d\u0435\u0439 \u0447\u0438\u0441\u043b\u043e 999, \u0442\u0435\u043f\u0435\u0440\u044c \u0432\u0435\u0437\u0434\u0435 \u0432 \u043a\u043e\u0434\u0435, \u0433\u0434\u0435  \/\/ \u0431\u0443\u0434\u0435\u0442 \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u0435\u0442\u0441\u044f \u0442\u0435\u0440\u043c\u0438\u043d MAX_LOADSTRING \/\/ \u043e\u043d \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043c\u0435\u043d\u044f\u0442\u0441\u044f \u043d\u0430 999 #define MAX_LOADSTRING 999  \/\/ \u0413\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435: \/\/  \/\/ hInst \u044d\u0442\u043e \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u0430\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430 \u043d\u0430\u0448\u0435\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b HINSTANCE hInst;                                \/\/ \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440  \/\/ \u044f \u0441\u0434\u0435\u043b\u0430\u044e \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u0443\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u0442\u043e\u0442\u044b \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f \/\/ \u0441 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u0443\u044e \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043d\u0430\u0448\u0435\u0433\u043e \u043e\u043a\u043d\u0430 \/\/ \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b HWND Form1;  \/\/ \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043d\u043e\u0432\u0443\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0442\u0438\u043f\u0430 \u043d\u0430\u0448\u0430 \u043a\u043d\u043e\u043f\u043a\u0430, \/\/ \u0441 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u0443\u0435\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f  \/\/ \u043d\u043e\u0432\u043e\u0433\u043e \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 (\u0437\u0432\u0435\u0437\u0434\u043e\u0447\u043a\u0430 (*) \/\/ \u043f\u043e\u0441\u043b\u0435 ObjectButton \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 (\u0434\u043b\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430) \/\/ \u0447\u0442\u043e \u043c\u044b \u043d\u0435 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c \u043e\u0434\u043d\u043e\u0438\u043c\u0435\u043d\u043d\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0438\u0437 \u0444\u0430\u0439\u043b\u0430 Source1.cpp, \/\/ \u0430 \u043e\u0431\u0440\u0430\u0449\u0430\u0435\u043c\u0441\u044f \u043a \u0442\u0438\u043f\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 ObjectButton, \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u0443\u0436\u0435 \/\/ \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440 \u0441 \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 ObjectButton (\u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u0441\u0435\u0439\u0447\u0430\u0441 \u043d\u0430\u0434 \u044d\u0442\u0438\u043c \/\/ \u0437\u0430\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0432\u0441\u0435 \u043f\u0440\u0438\u0434\u0435\u0442 \u0441\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c)  \/\/ \u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0435\u0449\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u043a\u043d\u043e\u043f\u043a\u0430 ObjectButton* lbl_text_hello = new ObjectButton(400, 50, 150, 200); ObjectButton* btn_change_windows_size = new ObjectButton(150, 50, 50, 320); ObjectButton* lbl_text_hide_button = new ObjectButton(550, 50, 210, 380); ObjectButton* btn_show_message = new ObjectButton(150, 50, 50, 440); ObjectButton* btn_exit = new ObjectButton(150, 50, 50, 560);  ObjectButton* btn_load_file = new ObjectButton(150, 50, 50, 380); ObjectButton* btn_save_file = new ObjectButton(150, 50, 50, 440); ObjectButton* btn_show_file = new ObjectButton(150, 50, 50, 500); ObjectButton* btn_add_one = new ObjectButton(150, 50, 210, 500);  \/\/ \u0442\u0435\u043f\u0435\u0440\u044c \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043d\u043e\u0432\u044b\u0439 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u043d\u0430\u0448\u0435\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430 ObjectTextFileLoader ObjectTextFileLoader* TextLoader1 = new ObjectTextFileLoader((LPWSTR)L\"test.txt\");  \/\/ \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0431\u0443\u0434\u0435\u0442 \u043c\u0435\u043d\u044f \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043e\u043a\u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \/\/ \u0438 \u0440\u0430\u0437\u043c\u0435\u0440 \u043e\u043a\u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0431\u0443\u0434\u0435\u043c \/\/ \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u0440\u0430\u0437\u043c\u0435\u0440 \u043e\u043a\u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b (\u0434\u0432\u0443\u043c\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438 - \u0448\u0438\u0440\u0438\u043d\u0430 \u0438 \u0432\u044b\u0441\u043e\u0442\u0430) void execute_application_postion_and_size(HWND Form, int width, int height) {      \/\/ \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f     \/\/ \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442     \/\/ \u043f\u0435\u0440\u0438\u043e\u0434 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f \u0432 \u043c\u0441 (1000      \/\/ \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 1 \u0441\u0435\u043a\u0443\u043d\u0434\u0435)     Sleep(1000);      \/\/ \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435, \u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u0443\u0435\u043c     \/\/ \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f     \/\/ \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043e \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0435, \u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 SM_CXSCREEN,     \/\/ \u0442\u0440\u0435\u0431\u0443\u044e\u0449\u0438\u043c \u0448\u0438\u0440\u0438\u043d\u0443 \u044d\u043a\u0440\u0430\u043d\u0430 \u0432 \u043f\u0438\u043a\u0441\u0435\u043b\u044f\u0445     int screen_width = GetSystemMetrics(SM_CXSCREEN);      \/\/ \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e \u0434\u043b\u044f \u0432\u044b\u0441\u043e\u0442\u044b \u044d\u043a\u0440\u0430\u043d\u0430     int screen_height = GetSystemMetrics(SM_CYSCREEN);      \/\/ \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0434\u0432\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435, \u0441 \u043d\u043e\u0432\u044b\u043c\u0438 \u0440\u0430\u0437\u043c\u0435\u0440\u0430\u043c\u0438 \u043e\u043a\u043d\u0430     int program_width = width;     int program_height = height;      int program_left = (screen_width \/ 2) - (program_width \/ 2);     int program_top = (screen_height \/ 2) - (program_height \/ 2);      \/\/ \u0438\u0437\u043c\u0435\u043d\u0438\u043c \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043e\u043a\u043d\u0430 (\u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0433\u043e\u0442\u043e\u0432\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438),     \/\/ \u0440\u0430\u0437\u043c\u0435\u0441\u0442\u0438\u0432 \u043e\u043a\u043d\u043e \u043f\u043e \u0446\u0435\u043d\u0442\u0440\u0443 \u044d\u043a\u0440\u0430\u043d\u0430     SetWindowPos(         Form,         HWND_TOP,         program_left,         program_top,         program_width,         program_height,         SWP_ASYNCWINDOWPOS     ); } \/\/ \u043e\u043f\u0438\u0448\u0435\u043c \u0435\u0435 \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0431\u0435\u0437 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432 void execute_application_postion_and_sizeA() {     execute_application_postion_and_size(Form1, 1024, 700); }  \/\/ \u043e\u043f\u0438\u0448\u0435\u043c \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0434\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u0439 \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u043a\u0438 void ExecuteMyBotton(ObjectButton* btn, HDC Canvas) {     if (btn->help_button_first_draw_status == 0) {         btn->Left = btn->Left - 8;         btn->Top = btn->Top - 51;         btn->Create(Form1, Canvas);         btn->Left = btn->Left + 8;         btn->Top = btn->Top + 51;     } }  \/\/ \u043e\u043f\u0438\u0448\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0432\u044b\u0445\u043e\u0434\u0430 \u0438\u0437 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b               void ExitFromProgram() {      \/\/ \u0432\u044b\u0437\u043e\u0432\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0434\u043b\u044f \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b,     \/\/ \u0432\u0441\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0432\u043e \u0432\u0441\u0435\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 (\u043d\u0430 \u0432\u0441\u0435\u0445 \u044f\u0437\u044b\u043a\u0430\u0445)     \/\/ \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u044e\u0442\u0441\u044f \u043a\u043e\u0434\u043e\u043c 1, \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f \u0431\u0435\u0437     \/\/ \u0441\u0431\u043e\u0435\u0432, \u0438 0 (\u0441\u043e \u0441\u0431\u043e\u044f\u043c\u0438)     PostQuitMessage(1); }  \/\/ \u043e\u043f\u0438\u0448\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0434\u043b\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0444\u0430\u0439\u043b\u0430 test.txt \u0438\u0437 \/\/ \u043f\u0430\u043f\u043a\u0438 \u0441 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043e\u0439 (\u0435\u0441\u043b\u0438 \u0444\u0430\u0439\u043b \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u043e\u0434\u043d\u043e\u0439 \/\/ \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 \u0441 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043e\u0439 \u043d\u0435 \u043d\u0430\u0434\u043e \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043f\u043e\u043b\u043d\u044b\u0439 \u043f\u0443\u0442\u044c) void LoadFileFromComputer() {       \/\/ \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u043f\u0443\u0442\u0438     \/\/ \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e \u043f\u0443\u0442\u044c \u043a \u043c\u043e\u0435\u043c\u0443 \u0444\u0430\u0439\u043b\u0443 \u043d\u0430 \u0434\u0438\u0441\u043a\u0435     \/\/ (\u043f\u0440\u044f\u043c\u043e\u0439), \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0434\u043b\u044f \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u0440\u0435\u043b\u0438\u0442\u0438\u0432\u043d\u043e\u0433\u043e     \/\/ \u043f\u0443\u0442\u0438 \u043d\u0443\u0436y\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430, \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043d\u0435\u0442 \u0432 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u043c     \/\/ \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b (\u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043e\u0437\u0434\u0430\u043d \u0432 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0435     \/\/ \u0441++ 14), \u0432 \u0442\u043e \u0436\u0435 \u0432\u0440\u0435\u043c\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438\u0437 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438      \/\/ shellapi \u043d\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c      \/\/ \u0442\u0430\u043a \u043a\u0430\u043a \u043e\u043d\u0438 \u043d\u0435 \u0438\u043c\u0435\u044e\u0442 \u043f\u043e\u043b\u043d\u043e\u0439 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0439 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438     \/\/ \u0441 windows 10 \u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u043d\u0430 \u0440\u0430\u0437\u043c\u0435\u0440 \u043f\u0443\u0442\u0438,      \/\/ \u0442\u0430\u043a\u043e\u0439 \u0432\u043e\u0442 \u043f\u043e\u0440\u043e\u0447\u043d\u044b\u0439 \u043a\u0440\u0443\u0433, \u0430 \u0435\u0449\u0435 \u043c\u043d\u0435 \u043b\u0435\u043d\u044c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0442\u0430\u043a,     \/\/ \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u044f \u043f\u043e\u043c\u043d\u044e \u0432\u044b\u0437\u043e\u0432 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0433\u043e \u0434\u0438\u0430\u043b\u043e\u0433\u0430 \u0432\u044b\u0431\u043e\u0440\u0430     \/\/ \u0444\u0430\u0439\u043b\u0430 \u0440\u0435\u0448\u0430\u0435\u0442 \u044d\u0442\u0443 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 (\u043d\u043e \u044d\u0442 \u043d\u0435 \u0442\u043e\u0447\u043d\u043e, \u0442\u0430\u043a \u043a\u0430\u043a \u044f     \/\/ \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e \u0434\u0440\u0443\u0433\u043e\u0439 \u044f\u0437\u044b\u043a (\u0432 \u043f\u043e\u0432\u0441\u0435\u0434\u043d\u0435\u0432\u043d\u043e\u0441\u0442\u0438), \u0430 \u0441++ (\u043d\u0430\u0442\u0438\u0432\u043d\u044b\u043c)     \/\/ \u0434\u0430\u0432\u043d\u043e \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u044e, \u0434\u0432\u043e\u0439\u043d\u043e\u0439 \\\\ \u0441\u043b\u0435\u0448 \u0432 \u043f\u0443\u0442\u0438 \u043f\u043e\u0442\u043e\u043c\u0443      \/\/ \u0447\u0442\u043e \u0441\u0438\u043c\u0432\u043e\u043b \\ \u0437\u0430\u0440\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u043e\u0432\u0430\u043d \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u043e\u043c \u0434\u043b\u044f \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439     string file_path = \"D:\\\\a\\\\test.txt\";           \/\/ \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u043c \u0444\u0430\u0439\u043b        TextLoader1->LoadFromFile((LPWSTR)TextLoader1->ConvertToLPCWSTR(file_path));      \/\/ \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c \u043d\u0430 \u0441\u0442\u0440\u043e\u043a\u0438     TextLoader1->DetouchInToStringList(); }  \/\/ \u043e\u043f\u0448\u0438\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0434\u043b\u044f \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u0430 test.txt void SaveToFileInComputer() {     \/\/ \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0441 \u043f\u0443\u0442\u0435\u043c \u043a \u0444\u0430\u0439\u043b\u0443     LPWSTR fp = (LPWSTR)L\"D:\\\\a\\\\test.txt\";      \/\/ \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u043c \u0444\u0430\u0439\u043b     TextLoader1->SaveToFile(fp); }  \/\/ \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0434\u043b\u044f \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0433\u043e  void ShowContent() {     \/\/ \u0441\u043e\u0431\u0435\u0440\u0435\u043c \u0442\u0435\u043a\u0441\u0442 \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e,      \/\/ \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u043c \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u0443\u044e \u043a\u043e\u043d\u043a\u0430\u0442\u0435\u043d\u0430\u0446\u0438\u044e      \/\/ (\u043e\u0442 \u0441\u043b\u043e\u0432\u0430 \u043a\u043e\u043d\u0442\u0430\u043a\u0442),     \/\/ \u0444\u0443\u043d\u043a\u0446\u0438\u044f std::to_string \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442      \/\/ \u0442\u0440\u0430\u043d\u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0447\u0438\u0441\u043b\u043e \u0432 \u0441\u0442\u0440\u043e\u043a\u0443     string a = \"\u0421\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 #\" + std::to_string(TextLoader1->Count()) + \" - \" + TextLoader1->Strings(TextLoader1->Count() - 1);      \/\/ \u0432\u044b\u0437\u043e\u0432\u0435\u043c \u0434\u0438\u0430\u043b\u043e\u0433 \u0441 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435\u043c     MessageBox(NULL, TextLoader1->ConvertToLPCWSTR(a), TEXT(\"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0438\u0437 \u0442\u0435\u043a\u0441\u0442\u0430\"), 0); }  \/\/ \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0434\u043b\u044f \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0442\u0440\u043e\u043a\u0438 \u0432 \u043a\u043e\u043d\u0435\u0446 \u0444\u0430\u0439\u043b\u0430 void AddOneString() {     \/\/ \u0434\u043e\u0431\u0430\u0432\u0438\u043c 1 \u0441\u0442\u0440\u043e\u043a\u0443 \u0432 \u043a\u043e\u043d\u0435\u0446 HStringList     TextLoader1->AddEnd(1);      \/\/ \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0434\u043b\u044f \u0442\u0435\u043a\u0441\u0442\u0430 \u0441\u0442\u0440\u043e\u043a\u0438     string a = \"New String #\" + std::to_string(TextLoader1->Count());      \/\/ \u0438\u0437\u043c\u0435\u043d\u0438\u043c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u043d\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0430     TextLoader1->ChangeInString(TextLoader1->Count() - 1, a);      \/\/ \u0432\u044b\u0437\u043e\u0432\u0435\u043c \u0434\u0438\u0430\u043b\u043e\u0433 \u0441 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435\u043c     MessageBox(NULL, TEXT(\"\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 1 \u0441\u0442\u0440\u043e\u043a\u0430 \u0432 \u043a\u043e\u043d\u0435\u0446 \u0444\u0430\u0439\u043b\u0430!\"), TEXT(\"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0438\u0437 \u0442\u0435\u043a\u0441\u0442\u0430\"), 0); }  \/\/ \u0432 \u043e\u0431\u0449\u0435\u043c \u0442\u043e \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u043f\u0430\u0440\u0443 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0442\u0438\u043f\u0430 \"\u0431\u0443\u043a\u0432\u0435\u043d\u043d\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432\", \/\/ \u0438 \u0441\u0440\u0430\u0437\u0443 \u0437\u0430\u0434\u0430\u0435\u043c \u0435\u0433\u043e \u0434\u043b\u0438\u043d\u0443 \u0432 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0435 [MAX_LOADSTRING] WCHAR szTitle[MAX_LOADSTRING];                  \/\/ \u0422\u0435\u043a\u0441\u0442 \u0441\u0442\u0440\u043e\u043a\u0438 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 WCHAR szWindowClass[MAX_LOADSTRING];            \/\/ \u0438\u043c\u044f \u043a\u043b\u0430\u0441\u0441\u0430 \u0433\u043b\u0430\u0432\u043d\u043e\u0433\u043e \u043e\u043a\u043d\u0430  \/\/ \u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044b\u0445 \u0432 \u044d\u0442\u043e\u0442 \u043c\u043e\u0434\u0443\u043b\u044c \u043a\u043e\u0434\u0430: \/\/  \/\/ \u044d\u0442\u0438 \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0441\u0435\u0439\u0447\u0430\u0441 \u043d\u0435 \u0432\u0430\u0436\u043d\u044b, \u043f\u043e \u0441\u0443\u0442\u0438, \u043e\u043d\u0438 \u043f\u0440\u043e\u0441\u0442\u043e \"\u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0443\u044e\u0442\" \/\/ \u043d\u0430\u0448\u0443 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u0434\u043b\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u0441\u043e\u0437\u0434\u0430\u044e\u0442 \u043d\u043e\u0432\u044b\u0439 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u043e\u043a\u043d\u0430 (\u0438\u0437 \u0437\u0430\u0433\u043e\u0442\u043e\u0432\u043e\u043a \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435)  \/\/ \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044e\u0442 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 (\u043d\u0435\u0442 \u0441\u043c\u044b\u0441\u043b\u0430 \u0432\u0434\u0430\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438, \u0438 \u0437\u0430\u0431\u0438\u0432\u0430\u0442\u044c \u0433\u043e\u043b\u043e\u0432\u0443) ATOM                MyRegisterClass(HINSTANCE hInstance); BOOL                InitInstance(HINSTANCE, int); LRESULT CALLBACK    WndProc(HWND, UINT, WPARAM, LPARAM); INT_PTR CALLBACK    About(HWND, UINT, WPARAM, LPARAM);  \/\/ \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \/\/ \u044d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0432 \u0441\u0435\u0431\u044f \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432, \/\/ \u044d\u0442\u043e \"\u0442\u043e\u0447\u043a\u0430 \u0432\u0445\u043e\u0434\u0430\", \u043a\u043e\u0433\u0434\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f, \u043e\u043d\u0430  \/\/ \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u044d\u0442\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \/\/ \/\/ \u044d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0431\u0443\u0434\u0435\u0442 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0442\u044c \u0441\u0432\u044f\u0437\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0438 \u043d\u0430\u0448\u0435\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \/\/ \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0431\u0435\u0441\u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0433\u043e \u0446\u0438\u043a\u043b\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u0442\u0441\u044f \u0434\u043e \u0442\u0435\u0445 \u043f\u043e\u0440,  \/\/ \u043f\u043e\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u0430, \u0438 \u043f\u0435\u0440\u0435\u0445\u0432\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043e\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u044b int APIENTRY wWinMain(_In_ HINSTANCE hInstance,     _In_opt_ HINSTANCE hPrevInstance,     _In_ LPWSTR    lpCmdLine,     _In_ int       nCmdShow) {     \/\/ \u044d\u0442\u0438 \u0441\u0442\u0440\u043e\u043a\u0438 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438     \/\/ \u0441 \u043d\u0438\u043c\u0438 \u043f\u043e\u043a\u0430 \u0437\u0430\u043c\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0435 \u043d\u0443\u0436\u043d\u043e, \u043e\u043d\u0438 \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0434\u043b\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430     \/\/ \u0432 \u0434\u0432\u0443\u0445 \u0441\u043b\u043e\u0432\u0430\u0445 \u044d\u0442\u043e \u0435\u0449\u0435 \u043e\u0434\u043d\u0430 \u0440\u0430\u0437\u043d\u043e\u0432\u0438\u0434\u043d\u043e\u0441\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439,     \/\/ \u0441 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0434\u043b\u044f \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0435\u043d\u0438\u044f     \/\/ \u043f\u0430\u043c\u044f\u0442\u0438 \u043e\u0442 \u043d\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445     \/\/UNREFERENCED_PARAMETER(hPrevInstance);     \/\/UNREFERENCED_PARAMETER(lpCmdLine);      \/\/ TODO: \u0420\u0430\u0437\u043c\u0435\u0441\u0442\u0438\u0442\u0435 \u043a\u043e\u0434 \u0437\u0434\u0435\u0441\u044c.      \/\/ \u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0445 \u0441\u0442\u0440\u043e\u043a     \/\/      \/\/ \u043f\u043e\u0434\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u0438\u0437 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u043d\u0430\u0448\u0435\u0433\u043e \u0444\u0430\u0439\u043b\u0430 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043e\u043a\u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0434\u043b\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u044b     \/\/ \u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0441\u0430\u043c\u043e\u0433\u043e \u043e\u043a\u043d\u0430 (\u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u043a\u043d\u043e \u0442\u0438\u043f\u0430 \"\u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u043e\u0435\" \u0441 \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c\u044b\u043c     \/\/ \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c, \u0441\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u0435\u043c, \u0438 \u0442\u0434)     LoadStringW(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);     LoadStringW(hInstance, IDC_WINDOWSPROJECT1, szWindowClass, MAX_LOADSTRING);      \/\/ \u0430\u0434\u0430\u043f\u0442\u0438\u0440\u0443\u0435\u043c \u043d\u0430\u0448\u0443 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u0434\u043b\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438     \/\/ MyRegisterClass, \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u043c \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440     \/\/ \u043d\u0430\u0448\u0435\u0433\u043e \u043e\u043a\u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0438\u0437 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438      \/\/ (wWinMain) \u0432 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0435 hInstance     MyRegisterClass(hInstance);      \/\/ \u0412\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f:      \/\/ \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0443\u0441\u043b\u043e\u0432\u0438\u0435, \u0435\u0441\u043b\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0432\u0435\u0440\u043d\u0443\u043b\u0430 \u043d\u0430 \u043c\u0435\u0441\u0442\u043e \u0441\u0432\u043e\u0435\u0433\u043e \u0432\u044b\u0437\u043e\u0432\u0430     \/\/ \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 false, \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u0435 \u0432 \u0438\u0434\u0435\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e     \/\/ return, \u043f\u0440\u0438 \u0432\u0441\u0442\u0440\u0435\u0447\u0435 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043b\u044e\u0431\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u0440\u0435\u043a\u0440\u0430\u0449\u0430\u0435\u0442 \u043f\u043e\u0441\u0442\u0440\u043e\u0447\u043d\u043e\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435     \/\/ \u043a\u043e\u0434\u0430, \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c \u043b\u043e\u0436\u044c \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 wWinMain (\u0432 \u043c\u0435\u0441\u0442\u043e \u0432\u044b\u0437\u043e\u0432\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438)     if (!InitInstance(hInstance, nCmdShow))     {         return FALSE;     }       \/\/ \u044d\u0442\u043e \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043a\u043e\u0434 \u0434\u043b\u044f \u043e\u0442\u043b\u043e\u0432\u0430 \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u043d\u0430\u0436\u0430\u0442\u0438\u044f \u043a\u043b\u0430\u0432\u0438\u0448,     \/\/ \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u0443\u0435\u043c \u0441 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 hAccelTable (\u0442\u0438\u043f\u0430 HACCEL) \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442     \/\/ \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438 LoadAccelerators, \u0441\u0430\u043c\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0438\u0437\u0432\u043b\u0435\u043a\u0430\u0435\u0442 \u0438\u0437     \/\/ \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u043d\u0430\u0448\u0435\u0433\u043e \u0444\u0430\u0439\u043b\u0430 \u0433\u043e\u0442\u043e\u0432\u044b\u0435 \u0441\u0445\u0435\u043c\u044b \u0441\u043e\u0447\u0435\u0442\u0430\u043d\u0438\u044f \u043a\u043b\u0430\u0432\u0438\u0448 \u0438 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0439     \/\/ \u0434\u043b\u044f \u044d\u0442\u0438\u0445 \u0441\u043e\u0447\u0435\u0442\u0430\u043d\u0438\u0439     HACCEL hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_WINDOWSPROJECT1));      \/\/ \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0442\u0438\u043f\u0430 MSG (\u0441\u043b\u043e\u0436\u043d\u043e\u0441\u043e\u0441\u0442\u0430\u0432\u043d\u043e\u0439 \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445) \u043f\u043e\u0434 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c MSG     \/\/ \u0432 \u044d\u0442\u0443 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0431\u0443\u0434\u0443\u0442 \u043f\u043e\u043f\u0430\u0434\u0430\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432 \u0446\u0438\u043a\u043b\u0435 \u0431\u0443\u0434\u0443\u0442 \u043f\u0435\u0440\u0435\u0445\u0432\u0430\u0442\u044b\u0432\u0430\u0442\u044c\u0441\u044f      \/\/ \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 GetMessage     MSG msg;      \/\/ \u0426\u0438\u043a\u043b \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f:      \/\/ \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0446\u0438\u043a\u043b, \u0434\u043e \u0442\u0435\u0445 \u043f\u043e\u0440 \u043f\u043e\u043a\u0430 GetMessage, \u0441 \u043f\u0443\u0441\u0442\u044b\u043c\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438      \/\/ (2,3,4, \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u0432\u0434\u0430\u0432\u044f\u0442\u0441\u044f \u0441\u0435\u0439\u0447\u0430\u0441 \u0432 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u043f\u043e\u0447\u0435\u043c\u0443)     \/\/ \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043a\u0430\u043a\u043e\u0439-\u043b\u0438\u0431\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 (\u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e msg)      \/\/ \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043a\u043e\u0434 \u0432 \u0442\u0435\u043b\u0435 \u0446\u0438\u043a\u043b\u0430     \/\/     \/\/ \u0432\u0430\u0436\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442, \u043f\u043e\u0447\u0435\u043c\u0443 &amp;msg (\u0430\u0441\u0441\u043e\u0446\u0438\u0430\u0446\u0438\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439), \u0430 \u043d\u0435     \/\/ \u043f\u0440\u043e\u0441\u0442\u043e msg (\u043f\u0440\u0438\u0441\u0432\u043e\u0435\u043d\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439)? \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0435\u0441\u043b\u0438 \u0441\u043e\u0437\u0434\u0430\u0442\u044c      \/\/ \"\u0443\u0441\u043b\u043e\u0432\u043d\u044b\u0439\" \u043e\u0431\u044a\u0435\u043a\u0442 \u043a\u043d\u043e\u043f\u043a\u0430, \u0437\u0430\u0434\u0430\u0442\u044c \u0435\u043c\u0443 \u043a\u0430\u043a\u0438\u0435-\u043b\u0438\u0431\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b,      \/\/ \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0435\u0449\u0435 \u043e\u0434\u0438\u043d, \u0438 \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0441\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b      \/\/ \u043f\u0440\u043e\u0441\u0442\u044b\u043c \u043f\u0440\u0438\u0441\u0432\u043e\u0435\u043d\u0438\u0435\u043c, \u043f\u0440\u0438\u0441\u0432\u043e\u0435\u043d\u044b \u0431\u0443\u0434\u0443\u0442 \u043d\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043a\u043d\u043e\u043f\u043a\u0438,      \/\/ \u0430 \u0441\u0430\u043c\u0430 \u043a\u043d\u043e\u043f\u043a\u0430 (\u043e\u0431\u044a\u0435\u043a\u0442), \u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043a\u043d\u043e\u043f\u043a\u0430 \u043e\u0434\u0438\u043d      \/\/ \u0431\u0443\u0434\u0435\u0442 \u0442\u0430\u043a\u0436\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u043f\u043e\u0434 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c \u043a\u043d\u043e\u043f\u043a\u0430 \u0434\u0432\u0430     while (GetMessage(&amp;msg, nullptr, 0, 0))         \/\/ \u044d\u0442\u043e \u043d\u0430\u0447\u0430\u043b\u043e \u0442\u0435\u043b\u0430 \u0446\u0438\u043a\u043b\u0430     {         \/\/ \u043d\u0435\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0430\u044f \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u0443\u0441\u043b\u043e\u0432\u0438\u044f, \u043e\u043d\u0430 \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u0435\u0442         \/\/ \u043f\u0440\u043e\u0441\u0442\u0443\u044e \u043b\u043e\u0433\u0438\u043a\u0443, \u0435\u0441\u043b\u0438 \u043d\u0435 \"!\" \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438         \/\/ TranslateAccelerator (\u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0434\u043b\u044f \u0433\u043e\u0440\u044f\u0447\u0438\u0445 \u043a\u043b\u0430\u0432\u0438\u0448)         \/\/ \u0442\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043a\u043e\u0434 \u0432 \u0443\u0441\u043b\u043e\u0432\u0438\u0438, \u0438\u043d\u0430\u0447\u0435 \u0433\u043e\u0432\u043e\u0440\u044f, \u0435\u0441\u043b\u0438          \/\/ \u043d\u0430\u0436\u0430\u0442\u0430\u044f \u043a\u043b\u0430\u0432\u0438\u0448\u0430 \u043d\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u043b\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0435\u0439         \/\/ \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0430, \u0442\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043a\u043e\u0434 \u0443\u0441\u043b\u043e\u0432\u0438\u044f, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u043c          \/\/ \u0433\u043e\u0440\u044f\u0447\u0443\u044e \u043a\u043b\u0430\u0432\u0438\u0448\u0443 (\u043d\u0435 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0432\u0434\u0430\u0432\u044f\u0442\u0441\u044f \u0432 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438          \/\/ \u043d\u0430\u043c \u0441\u0435\u0439\u0447\u0430\u0441 \u044d\u0442\u043e \u043d\u0435 \u043d\u0443\u0436\u043d\u043e)         if (!TranslateAccelerator(msg.hwnd, hAccelTable, &amp;msg))         {             \/\/ \u043a\u043e\u0434 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043d\u0430\u0436\u0430\u0442\u0438\u0439 \u0433\u043e\u0440\u044f\u0447\u0438\u0445 \u043a\u043b\u0430\u0432\u0438\u0448             \/\/ \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u044b\u043b\u0438 \u0443\u043a\u0430\u0437\u0430\u043d\u044b \u0432 \u0441\u0445\u0435\u043c\u0435, \u043a\u043e\u0442\u043e\u0440\u0430\u044f             \/\/ \u0431\u044b\u043b\u0430 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u0430 \u0438\u0437 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0440\u0430\u043d\u0435\u0435             TranslateMessage(&amp;msg);             DispatchMessage(&amp;msg);         }     }     \/\/ \u044d\u0442\u043e \u043a\u043e\u043d\u0435\u0446 \u0442\u0435\u043b\u0430 \u0446\u0438\u043a\u043b\u0430      \/\/ \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438     \/\/ \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u043e\u0434\u0441\u0442\u0430\u043d\u043e\u0432\u043e\u0447\u043d\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435      \/\/ (\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u0441\u0442\u0430\u0435\u0442 \u0432 \u043d\u0438\u043a\u0443\u0434\u0430) \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b      \/\/ \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u044b GetMessage     return (int)msg.wParam; }    \/\/ \/\/  \u0424\u0423\u041d\u041a\u0426\u0418\u042f: MyRegisterClass() \/\/ \/\/  \u0426\u0415\u041b\u042c: \u0420\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u0442 \u043a\u043b\u0430\u0441\u0441 \u043e\u043a\u043d\u0430. \/\/  \/\/ \u0432\u044b\u0448\u0435 \u0443\u0436\u0435 \u0431\u044b\u043b\u0430 \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u0442\u0430 \u044d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f, \u043e\u043d\u0430 \u0430\u0434\u0430\u043f\u0442\u0438\u0440\u0443\u0435\u0442 \/\/ \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043d\u0430\u0448\u0443 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u0432\u043e\u0442, \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0441\u0430\u043c\u043e  \/\/ \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u044d\u0442\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043e\u043d\u043e \u043d\u0430\u043c \u043d\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e, \u0434\u0432\u0438\u0433\u0430\u0435\u043c\u0441\u044f \u0434\u0430\u043b\u044c\u0448\u0435 ATOM MyRegisterClass(HINSTANCE hInstance) {     \/\/ \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043e\u043a\u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b     WNDCLASSEXW wcex;      wcex.cbSize = sizeof(WNDCLASSEX);      wcex.style = CS_HREDRAW | CS_VREDRAW;     wcex.lpfnWndProc = WndProc;     wcex.cbClsExtra = 0;     wcex.cbWndExtra = 0;     wcex.hInstance = hInstance;     wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_WINDOWSPROJECT1));     wcex.hCursor = LoadCursor(nullptr, IDC_ARROW);     wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);     wcex.lpszMenuName = MAKEINTRESOURCEW(IDC_WINDOWSPROJECT1);     wcex.lpszClassName = szWindowClass;     wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL));      return RegisterClassExW(&amp;wcex); }  \/\/ \/\/   \u0424\u0423\u041d\u041a\u0426\u0418\u042f: InitInstance(HINSTANCE, int) \/\/ \/\/   \u0426\u0415\u041b\u042c: \u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442 \u043c\u0430\u0440\u043a\u0435\u0440 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430 \u0438 \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u0433\u043b\u0430\u0432\u043d\u043e\u0435 \u043e\u043a\u043d\u043e \/\/ \/\/   \u041a\u041e\u041c\u041c\u0415\u041d\u0422\u0410\u0420\u0418\u0418: \/\/ \/\/        \u0412 \u044d\u0442\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043c\u0430\u0440\u043a\u0435\u0440 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u0432 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439, \u0430 \u0442\u0430\u043a\u0436\u0435 \/\/        \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f \u0438 \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u0433\u043b\u0430\u0432\u043d\u043e\u0435 \u043e\u043a\u043d\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b. \/\/  \/\/ \u044f \u0434\u0443\u043c\u0430\u044e \u0438\u0437 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432 \u043f\u043e\u043d\u044f\u0442\u043d\u043e, \u0434\u043b\u044f \u0447\u0435\u0433\u043e \u044d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \/\/ \u0442\u0430\u043a \u0436\u0435 \u0432\u044b\u0448\u0435 \u0431\u044b\u043b\u043e \u0441\u043a\u0430\u0437\u0430\u043d\u043e \u043e\u0431 \u044d\u0442\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0435\u0435 \u0442\u043e\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) {     hInst = hInstance; \/\/ \u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043c\u0430\u0440\u043a\u0435\u0440 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430 \u0432 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439      \/\/ \u0440\u0430\u0437\u0432\u0435 \u0447\u0442\u043e \u0432\u043e\u0442 \u043a\u043b\u044e\u0447\u0435\u0432\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043e\u043a\u043d\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f     \/\/ CreateWindow (\u0441 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u043e\u043c W, \u0442\u043e \u0435\u0441\u0442\u044c \u043e\u0434\u043d\u0430 \u0438\u0437 \u0432\u0430\u0440\u0438\u0430\u0446\u0438\u0439 \u044d\u0442\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438)     \/\/ \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043d\u0430 \u043c\u0435\u0441\u0442\u043e \u0441\u0432\u043e\u0435\u0433\u043e \u0432\u044b\u0437\u043e\u0432\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u044b \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u0443\u0435\u043c     \/\/ \u0441 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0434\u0435\u0440\u0436\u0438\u043c \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043d\u0430\u0448\u0435\u0433\u043e \u043e\u043a\u043d\u0430     \/\/ \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b     HWND hWnd = CreateWindowW(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,         CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, nullptr, nullptr, hInstance, nullptr);      \/\/ \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0443\u0441\u043b\u043e\u0432\u0438\u0435, \u0435\u0441\u043b\u0438 \"\u043d\u0435 hWnd\" (\u0442\u043e \u0435\u0441\u0442\u044c     \/\/ \u043d\u0435\u0442 \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430) \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c FALSE     \/\/ \u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u0435\u043c \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438     if (!hWnd)     {         return FALSE;     }      \/\/ \u043f\u043e\u0441\u043b\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043e\u043a\u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0434\u043b\u044f \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f     \/\/ \u043e\u043a\u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0438 \u0435\u0433\u043e \u043f\u0435\u0440\u0435\u0440\u0438\u0441\u043e\u0432\u043a\u0438     ShowWindow(hWnd, nCmdShow);     UpdateWindow(hWnd);      return TRUE; }  \/\/ \/\/  \u0424\u0423\u041d\u041a\u0426\u0418\u042f: WndProc(HWND, UINT, WPARAM, LPARAM) \/\/ \/\/  \u0426\u0415\u041b\u042c: \u041e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0432 \u0433\u043b\u0430\u0432\u043d\u043e\u043c \u043e\u043a\u043d\u0435. \/\/ \/\/  WM_COMMAND  - \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043c\u0435\u043d\u044e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \/\/  WM_PAINT    - \u041e\u0442\u0440\u0438\u0441\u043e\u0432\u043a\u0430 \u0433\u043b\u0430\u0432\u043d\u043e\u0433\u043e \u043e\u043a\u043d\u0430 \/\/  WM_DESTROY  - \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043e \u0432\u044b\u0445\u043e\u0434\u0435 \u0438 \u0432\u0435\u0440\u043d\u0443\u0442\u044c\u0441\u044f \/\/ \/\/ \/\/ \u0435\u0449\u0435 \u043e\u0434\u043d\u0430 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f, \u044d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u043e\u0434\u0432\u044f\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \/\/ \u043a \u043d\u0430\u0448\u0435\u0439 \u0444\u043e\u0440\u043c\u0435, \u0438 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u043d\u0430\u0448\u0435\u0439 \u0444\u043e\u0440\u043c\u044b (\u043a \u043f\u0440\u0438\u043c\u0435\u0440\u0443 \/\/ \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u043e\u043a\u043d\u0430, \u0442\u044b\u043a \u043c\u044b\u0448\u043a\u043e\u0439, \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c \u0444\u043e\u0440\u043c\u044b \u0438 \u0442\u0434) \/\/ \u044d\u0442\u043e \u043e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043d\u0430\u0448\u0435\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) {     \/\/ \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0430\u0441\u0441\u043e\u0446\u0438\u0430\u0446\u0438\u044e \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0430 \u043e\u043a\u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b     \/\/ \u0441 \u043d\u0430\u0448\u0435\u0439 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0445\u0440\u0430\u043d\u0438\u043c     \/\/ \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440     Form1 = hWnd;      \/\/ switch \u0440\u0430\u0437\u043d\u043e\u0432\u0438\u0434\u043d\u043e\u0441\u0442\u044c \u0443\u0441\u043b\u043e\u0432\u0438\u044f, \u043d\u0435 \u0441\u043e\u0432\u0441\u0435\u043c \u043f\u043e\u043d\u044f\u0442\u043d\u043e     \/\/ \u0446\u0435\u043b\u0435\u0441\u043e\u043e\u0431\u0440\u0430\u0437\u043d\u043e\u0441\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u043e\u0433\u043e     \/\/ \u0443\u0441\u043b\u043e\u0432\u043d\u043e\u0433\u043e \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u0430, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0442\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435      \/\/ \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u043e\u043f\u0438\u0441\u0430\u0442\u044c \u0438 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0435\u0439 if (\u043d\u043e \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0443     \/\/ \u0447\u0442\u043e \u043d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0442\u043e \u0447\u0442\u043e switch \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \"\u043a\u0430\u043d\u043e\u043d\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439      \/\/ \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0435\u0439, \u043e\u043d\u0430 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u043e\u0434\u043d\u043e \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435     \/\/ \u0443\u0441\u043b\u043e\u0432\u0438\u044f, \u0437\u0430\u0442\u0435\u043c \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u0435\u0442, \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u0441\u0442\u044c,     \/\/ \u0438\u0437\u0431\u0435\u0433\u0430\u044f \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0445 \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043d\u0438\u0439 \u043d\u0430 \u043e\u0434\u043d\u0443 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 message)      \/\/ \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u0435 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f,     \/\/ \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u0438\u0437 GetMessage, \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438     \/\/ \u0441 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u043c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u044b\u043c message (\u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442\u0441\u044f     \/\/ \u0432 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0438), \u0438 \u0435\u0441\u043b\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 message \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442     \/\/ \u043a\u0430\u043a\u043e\u0439 \u043b\u0438\u0431\u043e \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 case, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u044d\u0442\u043e\u0442 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442 \u043a\u043e\u0434\u0430     switch (message)     {         \/\/ \u043d\u0435 \u0441\u0442\u043e\u0438\u0442 \u0437\u0430\u0431\u044b\u0432\u0430\u0442\u044c \u043f\u0440\u043e \u0437\u0430\u0436\u0430\u0442\u0443\u044e Ctrl \u0438 \u043b\u0435\u0432\u044b\u0439 \u0442\u044b\u043a \u043c\u044b\u0448\u043a\u043e\u0439         \/\/ \u044d\u0442\u043e \u043f\u0435\u0440\u0435\u043a\u0438\u043d\u0435\u0442 \u0432 \u0444\u0430\u0439\u043b, \u0433\u0434\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u043e \u044d\u0442\u043e \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e         \/\/         \/\/ WM_COMMAND \u044d\u0442\u043e \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u043e\u0435 \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043a\u043e\u043c\u0430\u043d\u0434         \/\/ (\u043a \u043f\u0440\u0438\u043c\u0435\u0440\u0443 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u0447\u0435\u0440\u0435\u0437 SendMessage)         case WM_COMMAND:         {             \/\/ \u0442\u0443\u0442 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u043c\u0435\u043d\u044e             \/\/ \u0441\u0430\u043c\u0438 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u0432 \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u0445 \u0444\u0430\u0439\u043b\u0430,              \/\/\u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438             int wmId = LOWORD(wParam);             \/\/ \u0420\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c \u0432\u044b\u0431\u043e\u0440 \u0432 \u043c\u0435\u043d\u044e:             switch (wmId)             {             case IDM_ABOUT:                 DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);                 break;             case IDM_EXIT:                 DestroyWindow(hWnd);                 break;             default:                 return DefWindowProc(hWnd, message, wParam, lParam);             }         }         break;         \/\/         \/\/          \/\/ \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u043c \u043d\u0430\u0448 \u043a\u043e\u0434 \u043d\u043e\u0432\u044b\u043c \u0443\u0441\u043b\u043e\u0432\u0438\u0435\u043c \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438         \/\/ \u0435\u0441\u043b\u0438 message \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e WM_LBUTTONDOWN         \/\/ \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043a\u043e\u0434 \u0432 \u0443\u0441\u043b\u043e\u0432\u0438\u0438 (WM_LBUTTONDOWN \u043b\u0435\u0432\u044b\u0439 \u0442\u044b\u043a \u043c\u044b\u0448\u043a\u0438)         \/\/         \/\/         \/\/ \u044d\u0442\u043e \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043e\u043a\u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b         \/\/ \u0432 \u043d\u0435\u043c \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u0443\u0435\u043c \u0441\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e\u043c \u043d\u0430\u0448\u0435\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u043a\u043d\u043e\u043f\u043a\u0430 (\u043f\u043e\u0434         \/\/ \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c ButtonClick, \u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u044b \u043d\u0435\u0434\u0430\u0432\u043d\u043e          \/\/ \u043e\u043f\u0438\u0441\u0430\u043b\u0438, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c \u0434\u0440\u0443\u0433\u0438\u0435 \u043d\u0443\u0436\u043d\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b)         case WM_CREATE: {             execute_application_postion_and_size(Form1, 900, 700);              btn_change_windows_size->ButtonClick = &amp;execute_application_postion_and_sizeA;             btn_change_windows_size->Caption = TEXT(\"\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0440\u0430\u0437\u043c\u0435\u0440 \u043e\u043a\u043d\u0430\");              lbl_text_hello->Caption = TEXT(\"\u042f \u0443 \u043c\u0430\u043c\u043a\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0438\u0438\u0438\u0438\u0441\u0442!\");             lbl_text_hello->cfg_enable_border = 0;             lbl_text_hello->cfg_text_size = 48;             lbl_text_hello->TextColor = RGB(126, 134, 231);               lbl_text_hide_button->Caption = TEXT(\"&lt;- \u041d\u0430\u0436\u043c\u0438 Esc \u0447\u0442\u043e\u0431\u044b \u0441\u043a\u0440\u044b\u0442\u044c \u044d\u0442\u0443 \u043a\u043d\u043e\u043f\u043a\u0443 \u0438 Q \u0447\u0442\u043e\u0431\u044b \u0441\u043d\u043e\u0432\u0430 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c!\");             lbl_text_hide_button->cfg_enable_border = 0;             lbl_text_hide_button->cfg_text_size = 24;             lbl_text_hide_button->TextColor = RGB(126, 190, 231);              btn_exit->Caption = TEXT(\"\u0412\u044b\u0445\u043e\u0434\");             btn_exit->TextColor = RGB(255, 52, 9);             btn_exit->BorderColor = RGB(255, 52, 9);             btn_exit->ButtonClick = &amp;ExitFromProgram;              btn_load_file->Caption = TEXT(\"\u041e\u0442\u043a\u0440\u044b\u0442\u044c \u0444\u0430\u0439\u043b\");             btn_load_file->ButtonClick = &amp;LoadFileFromComputer;              btn_show_file->Caption = TEXT(\"\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u044f\u044f \u0441\u0442\u0440\u043e\u043a\u0430\");             btn_show_file->ButtonClick = &amp;ShowContent;              btn_save_file->Caption = TEXT(\"\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c\");             btn_save_file->ButtonClick = &amp;SaveToFileInComputer;              btn_add_one->Caption = TEXT(\"\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0443\");             btn_add_one->ButtonClick = &amp;AddOneString;         }         break;          \/\/ \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u043d\u0430\u0436\u0430\u0442\u0438\u044f \u043a\u043d\u043e\u043f\u043a\u0438 \u043a\u043b\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u044b         \/\/ (\u0435\u0441\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0439, \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u0442\u0441\u044f, \u0437\u0430\u0436\u0430\u0442\u0430, \u043e\u0442\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f),         \/\/ \u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u043a\u043e\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u0435         \/\/ (\u0432 wParam) \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0432\u044b\u0437\u043e\u0432\u0430 \u0441\u043e\u0431\u044b\u0442\u0438\u044f WM_KEYDOWN         case WM_KEYDOWN: {              \/\/ \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0443\u0441\u043b\u043e\u0432\u0438\u0435, \u0435\u0441\u043b\u0438 \u043d\u0430\u0436\u0430\u0442\u0430 \u043a\u043b\u0430\u0432\u0438\u0448\u0430 Esc,             \/\/ \u0443\u0434\u0430\u043b\u044f\u0435\u043c \u0441 \u044d\u043a\u0440\u0430\u043d\u0430 \u043a\u043d\u043e\u043f\u043a\u0443             if (wParam == VK_ESCAPE)             {                 btn_load_file->ClearButtonDraw(Form1);             }              \/\/ \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0435\u0449\u0435 \u043e\u0434\u043d\u043e             \/\/              \/\/ \u0435\u0441\u043b\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044f (\u0438\u0437 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a), \u0434\u044f\u043b \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f             \/\/ \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u043d\u0430\u0436\u0430\u0442\u043e\u0439 \u043a\u043b\u0430\u0432\u0438\u0448\u0438 \u0441 \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c \u043a\u043b\u0430\u0432\u0438\u0448\u0438 Q (0x51)             \/\/ \u0432\u0435\u0440\u043d\u0443\u043b\u0430 \u043a\u043e\u0434, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044e \u043d\u0430\u0436\u0430\u0442\u0438\u044f \u0438 \u0443\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u043d\u0438\u044f,             \/\/ \u0441\u043d\u043e\u0432\u0430 \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u044b\u0432\u0430\u0435\u043c \u043a\u043d\u043e\u043f\u043a\u0443 (\u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e             \/\/ \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 help_button_active_status, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043d\u0430\u043c\u0435\u0440\u0435\u043d\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c             \/\/ \u0432 1, \u0447\u0442\u043e\u0431\u044b \u0444\u0443\u043d\u043a\u0446\u0438\u044f (ActiveButtonAnimate) \u043f\u043e\u0434\u0443\u043c\u0430\u043b\u0430, \u0447\u0442\u043e \u0441\u0435\u0439\u0447\u0430\u0441 \u043a\u043d\u043e\u043f\u043a\u0430              \/\/ \u043e\u0442\u0440\u0438\u0441\u0430\u043e\u0432\u0430\u043d\u0430 \u0432 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438), \u043f\u043e\u043b\u0443\u0447\u0438\u0432 \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438             \/\/ \u0434\u0440\u0443\u0433\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438\u0437 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a (GetWindowDC), \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u0443\u0441\u043b\u043e\u0432\u0438\u044f             \/\/ \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 &amp; \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043c\u044b \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u0443\u0435\u043c \u0431\u0438\u0442\u043e\u0432\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 (\u043a\u043e\u0434\u044b \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f             \/\/ \u043a\u043b\u0430\u0432\u0438\u0448), \u0430 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u043d\u0435 \u0441\u043f\u043e\u0441\u043e\u0431\u0435\u043d \u044d\u0442\u043e \u0442\u0440\u0430\u043d\u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u0435             \/\/ \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u044f (==), \u0444\u0443\u043d\u043a\u0446\u0438\u044f GetAsyncKeyState \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043d\u0430 \u043c\u0435\u0441\u0442\u043e \u0441\u0432\u043e\u0435\u0433\u043e \u0432\u044b\u0437\u043e\u0432\u0430             \/\/ \u043a\u043e\u0434, \u0434\u043e\u043f\u043e\u043b\u043d\u044f\u044e\u0449\u0438\u0439 0x8000 \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0447\u0442\u043e\u0431\u044b \u0432\u043c\u0435\u0441\u0442\u0435 \u043e\u043d\u0438 \u0441\u0434\u0435\u043b\u0430\u043b\u0438 0x0001, \u0438\u043b\u0438             \/\/ \u0431\u0438\u0442\u043e\u0432\u043e\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u044f, \u0447\u0435\u0440\u0435\u0437 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u0438\u0441\u0442\u0438\u043d\u044b (\u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0443 \u043a\u043e\u0434\u0430             \/\/ \"\u0438\u0441\u0442\u0438\u043d\u044b\" \u0432 \u0443\u0441\u043b\u043e\u0432\u0438\u0435), \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u0438\u0441\u0442\u0438\u043d\u0435 \u0432 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 if (\u043d\u0435 \u043d\u0430\u0434\u043e \u043d\u0430\u0434              \/\/ \u044d\u0442\u0438\u043c \u0437\u0430\u043c\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0438 \u0437\u0430\u0431\u0438\u0432\u0430\u0442\u044c \u0441\u0435\u0431\u0435 \u0433\u043e\u043b\u043e\u0432\u0443)             if (0x8000 &amp; GetAsyncKeyState(0x51)) {                 HDC hdc = GetWindowDC(Form1);                 btn_load_file->help_button_active_status = 1;                 btn_load_file->ActiveButtonAnimate(Form1, hdc);             }          }         break;          \/\/ \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044e\u0449\u0438\u0435 \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u0438         \/\/ \u043c\u044b\u0448\u0438, \u0432 \u043d\u0435\u0433\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442         \/\/ \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u0438 \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u044e \u043a\u043d\u043e\u043f\u043a\u0438, \u0442\u0430\u043a \u043a\u0430\u043a \u043d\u0430\u0448\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0442\u0440\u0435\u0431\u0443\u0435\u0442         \/\/ \u0432 \u0441\u0435\u0431\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f, \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440         \/\/ \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0433\u043e \u0442\u0438\u043f\u0430         \/\/ \u043f\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0443 \u0432\u044b\u0437\u043e\u0432\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 GetWindowDC (\u0432 \u043a\u043e\u0442\u043e\u0440\u0443\u044e         \/\/ \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u043c \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043e\u043a\u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b)         case WM_MOUSEMOVE: {             HDC hdc = GetWindowDC(Form1);             btn_change_windows_size->ActiveButtonAnimate(Form1, hdc);             btn_exit->ActiveButtonAnimate(Form1, hdc);              btn_load_file->ActiveButtonAnimate(Form1, hdc);             btn_show_file->ActiveButtonAnimate(Form1, hdc);             btn_save_file->ActiveButtonAnimate(Form1, hdc);             btn_add_one->ActiveButtonAnimate(Form1, hdc);         }         break;          \/\/ \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0441\u043e\u0431\u044b\u0442\u0438\u0435, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0449\u0435\u0435\u0441\u044f \u043f\u0440\u0438 \u043d\u0430\u0436\u0430\u0442\u0438\u0438 \u043b\u0435\u0432\u043e\u0439 \u043a\u043d\u043e\u043f\u043a\u0438 \u043c\u044b\u0448\u0438         \/\/ \u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438          \/\/ CheckMouseCoordinatesBeforeStartClickFunction         case WM_LBUTTONDOWN:          {             btn_change_windows_size->CheckMouseCoordinatesBeforeStartClickFunction(Form1);             btn_exit->CheckMouseCoordinatesBeforeStartClickFunction(Form1);                           btn_load_file->CheckMouseCoordinatesBeforeStartClickFunction(Form1);             btn_show_file->CheckMouseCoordinatesBeforeStartClickFunction(Form1);             btn_save_file->CheckMouseCoordinatesBeforeStartClickFunction(Form1);             btn_add_one->CheckMouseCoordinatesBeforeStartClickFunction(Form1);         }         break;          \/\/ \u0435\u0441\u043b\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0441\u043e\u0431\u044b\u0442\u0438\u044e \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u043a\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043a\u043e\u0434 \u0432\u043d\u0443\u0442\u0440\u0438         case WM_PAINT:         {             \/\/ \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0442\u0438\u043f\u0430 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b             \/\/ \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f             PAINTSTRUCT ps;              \/\/ \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0442\u0438\u043f\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f             \/\/ \u0438 \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u0443\u0435\u043c \u0441 \u043d\u0435\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438             \/\/ BeginPaint (\u0432 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u0445 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u043c             \/\/ \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043d\u0430\u0448\u0435\u0433\u043e \u043e\u043a\u043d\u0430, \u0438 \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u0443\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435             \/\/ \u0438\u0437 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438             HDC hdc = BeginPaint(hWnd, &amp;ps);              \/\/ \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0443\u0441\u043b\u043e\u0432\u0438\u0435, \u0435\u0441\u043b\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430             \/\/ help_button_first_draw_status \u0440\u0430\u0432\u043d\u043e 0,             \/\/ \u0437\u043d\u0430\u0447\u0438\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u044f Create \u0435\u0449\u0435 \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u043b\u0430\u0441\u044c,             \/\/ \u043f\u043e\u0441\u043b\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043d\u043e\u0432\u043e\u0433\u043e \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u0430, \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u043c             \/\/ \u0435\u0435, \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0432\u044b\u0447\u0438\u0442\u0430\u044f \u0440\u0430\u0437\u043c\u0435\u0440\u044b \u0431\u043e\u0440\u0434\u044e\u0440\u0430 \u0438 \u043c\u0435\u043d\u044e, \u0442\u0430\u043a \u043a\u0430\u043a             \/\/ \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u043a\u0438 \u0444\u043e\u0440\u043c\u044b \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043c\u043d\u043e\u0433\u043e \u0440\u0430\u0437,             \/\/ \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u0434\u043e \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u0431\u0443\u0434\u0443 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u044b \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u043c\u0435\u043d\u044e \u0438             \/\/ \u0431\u0430\u0440\u0434\u044e\u0440\u0430 \u043e\u043a\u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b             if (lbl_text_hello->help_button_first_draw_status == 0) {                 lbl_text_hello->Left = lbl_text_hello->Left - 8;                 lbl_text_hello->Top = lbl_text_hello->Top - 51;                 lbl_text_hello->Create(Form1, hdc);                 lbl_text_hello->Left = lbl_text_hello->Left + 8;                 lbl_text_hello->Top = lbl_text_hello->Top + 51;             }              \/\/ \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u0434\u0443\u0431\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u0434 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f (\u043e\u043f\u0438\u0441\u0430\u043d \u0441\u0432\u0435\u0440\u0445\u0443),             \/\/ \u0438 \u043d\u0435 \u0432\u043c\u0435\u0448\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u0446\u0435\u043b\u043e\u0441\u0442\u043d\u043e\u0441\u0442\u044c \u043d\u0430\u0448\u0435\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430 \u043a\u043d\u043e\u043f\u043a\u0438             \/\/ \u0438\u043c\u0435\u0435\u0442 \u0441\u043c\u044b\u0441\u043b \u043e\u043f\u0438\u0441\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0431\u0443\u0434\u0435\u0442 \u0432 \u0441\u0435\u0431\u044f             \/\/ \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0441 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u043c \u043a\u043d\u043e\u043f\u043a\u0430, \u0438 \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438             \/\/ \u0434\u0435\u043b\u0430\u0442\u044c \u0442\u043e\u0436\u0435 \u0441\u0430\u043c\u043e\u0435, \u0430 \u0432 \u043c\u0435\u0441\u0442\u0435, \u0433\u0434\u0435 \u043d\u0443\u0436\u0435\u043d \u044d\u0442\u043e\u0442 \u043a\u043e\u0434             \/\/ \u0432\u0441\u0442\u0430\u0432\u0438\u043c \u044d\u0442\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u044e             ExecuteMyBotton(btn_change_windows_size, hdc);             ExecuteMyBotton(lbl_text_hello, hdc);             ExecuteMyBotton(lbl_text_hide_button, hdc);             ExecuteMyBotton(btn_exit, hdc);              ExecuteMyBotton(btn_load_file, hdc);             ExecuteMyBotton(btn_show_file, hdc);             ExecuteMyBotton(btn_save_file, hdc);             ExecuteMyBotton(btn_add_one, hdc);               \/\/ TODO: \u0414\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u0441\u044e\u0434\u0430 \u043b\u044e\u0431\u043e\u0439 \u043a\u043e\u0434 \u043f\u0440\u043e\u0440\u0438\u0441\u043e\u0432\u043a\u0438, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0439 HDC...             \/\/ \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u0435\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f,             \/\/ \u0432\u044b\u0437\u044b\u0432\u0430\u044f \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e             EndPaint(hWnd, &amp;ps);         }         break;          \/\/ \u0435\u0441\u043b\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f message          \/\/ \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 WM_DESTROY         \/\/ \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043a\u043e\u0434 \u0434\u043b\u044f \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f         \/\/ \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f         case WM_DESTROY:             PostQuitMessage(0);             break;             \/\/ \u0435\u0441\u043b\u0438 message \u043d\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439             \/\/ (\u0438\u043b\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043d\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u043d\u0438 \u043e\u0434\u043d\u043e\u043c\u0443 \u0438\u0437 \u0443\u0441\u043b\u043e\u0432\u0438\u0439)             \/\/ \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u0434\u0440\u0443\u0433\u043e\u0439 \u043a\u043e\u0434, \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0443\u0435\u0442 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443             \/\/ \"\u043d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0433\u043e\" message, \u043e\u043d\u0430 \u043d\u0430\u0441 \u0442\u043e\u0436\u0435 \u043f\u043e\u043a\u0430 \u043d\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u0435\u0442             \/\/ (\u043d\u043e \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f, \u0442\u0430\u043a \u043a\u0430\u043a \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0435\u0435 \"\u043f\u0435\u0440\u0435\u043e\u043f\u0438\u0441\u0430\u0442\u044c\",             \/\/ \u0434\u043b\u044f \u043a\u0430\u043a\u0438\u0445-\u043b\u0438\u0431\u043e \u043d\u0430\u0448\u0438\u0445 \u0437\u0430\u0434\u0430\u0447)         default:             return DefWindowProc(hWnd, message, wParam, lParam);         }           \/\/ \u0432\u0435\u0440\u043d\u0435\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438 0         \/\/ \u043c\u043e\u0436\u043d\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043d\u0430 1 \u0447\u0442\u043e\u0431\u044b \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u0442\u044c          \/\/ \u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u0438\u0441\u0445\u043e\u0434\u044f         \/\/ \u0438\u0437 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u044d\u0442\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438         \/\/ (\u0442\u043e \u0435\u0441\u0442\u044c \u0435\u0441\u043b\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044f WndProc \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u043b\u0430\u0441\u044c         \/\/ \u0438 \u043d\u0435 \u0432\u0435\u0440\u043d\u0443\u043b\u0430 \u043d\u0430 \u043c\u0435\u0441\u0442\u043e \u0432\u044b\u0437\u043e\u0432\u0430 1, \u0437\u043d\u0430\u0447\u0438\u0442         \/\/ \u043a\u0430\u043a\u043e\u0435 \u0442\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e         \/\/ \u043f\u0440\u043e\u0441\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e (\u0432 \u043d\u0430\u0447\u0430\u043b\u0435         \/\/ \u0431\u043b\u043e\u043a\u0430 \u043a\u043e\u0434\u0430, \u0441 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0447\u0442\u043e         \/\/ \u043d\u0438\u0431\u0443\u0434\u044c (\u043a \u043f\u0440\u0438\u043c\u0435\u0440\u0443 0), \u0438 \u0435\u0441\u043b\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0441\u043c\u043e\u0433\u043b\u0430         \/\/ \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0441\u0432\u043e\u0439 \u043a\u043e\u0434 \u0434\u043e \u044d\u0442\u043e\u0439 \u043f\u043e\u0437\u0438\u0446\u0438\u0438, \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u044f\u0435\u043c 1     return 0; }  \/\/ \u041e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u0434\u043b\u044f \u043e\u043a\u043d\u0430 \"\u041e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435\". \/\/ \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0435 \u0434\u043b\u044f \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u043e\u043a\u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \/\/ \u0430 \u0434\u043b\u044f \u0434\u0438\u0430\u043b\u043e\u0433\u0430 \"\u041e\u0431 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435\", \u0435\u0433\u043e \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0442\u044c \u0441\u043c\u044b\u0441\u043b\u0430 \u043d\u0435\u0442 INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) {     UNREFERENCED_PARAMETER(lParam);     switch (message)     {     case WM_INITDIALOG:         return (INT_PTR)TRUE;      case WM_COMMAND:         if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)         {             EndDialog(hDlg, LOWORD(wParam));             return (INT_PTR)TRUE;         }         break;     }     return (INT_PTR)FALSE; } <\/code><\/pre>\n<\/p>\n<\/div>\n<\/details>\n<p>\u0412\u00a0\u0438\u0442\u043e\u0433\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f \u044d\u0442\u043e:<\/p>\n<figure class=\"float full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/3a5\/e76\/184\/3a5e7618435ac3bb03eeccbd9870856d.png\" width=\"892\" height=\"697\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/3a5\/e76\/184\/3a5e7618435ac3bb03eeccbd9870856d.png\"\/><\/figure>\n<p>\u041f\u043e\u0437\u0434\u0440\u0430\u0432\u043b\u044f\u044e, \u0442\u0435\u043f\u0435\u0440\u044c \u0442\u044b \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u044b\u0439 <strong>Junior C++ Desktop Developer<\/strong>, \u0435\u0441\u043b\u0438 \u0441\u0432\u0435\u0440\u0445\u0443 \u0438\u0437\u0443\u0447\u0438\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443 \u0441\u00a0\u043f\u0430\u043c\u044f\u0442\u044c\u044e \u0438 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441\u00a0\u0431\u0430\u0437\u0430\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u0445, \u0431\u0443\u0434\u0435\u0448\u044c \u0443\u0436\u0435 Middle C++ Engine Developer, \u043d\u0443 \u0430\u00a0\u0435\u0441\u043b\u0438 \u043e\u0432\u043b\u0430\u0434\u0435\u0432\u0430\u0442\u044c \u0432\u0441\u0435\u043c\u0438 \u0442\u043e\u043d\u043a\u043e\u0441\u0442\u044f\u043c\u0438 \u043d\u0435\u0442 \u0441\u043c\u044b\u0441\u043b\u0430 LOL, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0441\u0432\u0435\u0440\u0445\u0443 \u0442\u043e\u043b\u044c\u043a\u043e \u0437\u043d\u0430\u043d\u0438\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a \u0438 \u0441++ \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439 \u0432\u0435\u0440\u0441\u0438\u0438, \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c\u0441\u044f \u00ab\u0446\u0435\u043d\u043d\u044b\u0439 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442\u00bb.<\/p>\n<p>\u041d\u0430\u00a0\u044d\u0442\u043e \u043f\u043e\u0436\u0430\u043b\u0443\u0439 \u0432\u0441\u0435.<\/p>\n<p><strong>\u0427\u0442\u043e\u00a0\u043c\u043e\u0436\u043d\u043e \u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u043e\u00a0\u0438\u0442\u043e\u0433\u0443:<\/strong> \u0422\u0435\u043f\u0435\u0440\u044c \u0442\u044b \u0437\u043d\u0430\u0435\u0448\u044c \u043a\u0430\u043a\u00a0\u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0430\u00a0\u0421++, \u0437\u043d\u0430\u0435\u0448\u044c \u0431\u0430\u0437\u043e\u0432\u044b\u0435 \u043f\u043e\u043d\u044f\u0442\u0438\u044f \u043a\u043b\u0430\u0441\u0441\u043e\u0432 (\u0438 \u0441\u0430\u043c\u043e\u0435 \u0433\u043b\u0430\u0432\u043d\u043e\u0435 \u0443\u043c\u0435\u0435\u0448\u044c \u0438\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c), \u0437\u043d\u0430\u043a\u043e\u043c \u0441\u00a0\u0430\u0437\u0430\u043c\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u0432\u00a0RunTime, \u0438 \u0443\u043c\u0435\u0435\u0448\u044c \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441\u00a0\u0444\u0430\u0439\u043b\u0430\u043c\u0438.<\/p>\n<p>\u041a\u0430\u0440\u043e\u0447 \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0439 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439, \u044d\u0442\u043e \u043c\u043e\u0442\u0438\u0432\u0438\u0440\u0443\u0435\u0442 (\u044f \u043f\u043e\u0442\u0440\u0430\u0442\u0438\u043b 4\u00a0\u0432\u0435\u0447\u0435\u0440\u0430 \u043d\u0430\u00a0\u044d\u0442\u0443 \u0441\u0442\u0430\u0442\u044c\u044e, 3\u00a0\u0438\u0437\u00a0\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043d\u0430\u00a0\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 \u0438 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043e\u0440\u0444\u043e\u0433\u0440\u0430\u0444\u0438\u0438) \u043c\u0435\u043d\u044f \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0435\u0449\u0435 \u0447\u0442\u043e\u00a0\u043d\u0438 \u0431\u0443\u0434\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0435, \u0430\u00a0\u0442\u0430\u043a\u0436\u0435 \u043f\u0438\u0448\u0438 \u0435\u0441\u043b\u0438 \u0447\u0442\u043e\u2011\u0442\u043e\u00a0\u0431\u044b\u043b\u043e \u043d\u0435\u043f\u043e\u043d\u044f\u0442\u043d\u043e, \u043f\u043e\u00a0\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043f\u043e\u0441\u0442\u0430\u0440\u0430\u044e\u0441\u044c \u043e\u0442\u0432\u0435\u0442\u0438\u0442\u044c (\u043d\u043e \u0443\u00a0\u043c\u0435\u043d\u044f \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0438\u0437\u2011\u0437\u0430 \u0440\u0435\u0439\u0442\u0438\u043d\u0433\u0430 \u043d\u0430 1\u00a0\u043a\u043e\u043c\u043c\u0435\u043d\u0442 \u0432\u00a0\u0434\u0435\u043d\u044c).<\/p>\n<p>\u0421\u043f\u0430\u0441\u0438\u0431\u043e \u0437\u0430\u00a0\u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435!<\/p>\n<\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/779092\/\"> https:\/\/habr.com\/ru\/articles\/779092\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u0425\u0435 \u0445\u0435 \u043d\u0443 \u0432\u044b \u043f\u043e\u043d\u044f\u043b\u0438 &#171;\u0412\u041e\u0439\u0442\u0438 \u0412\u0410\u0439\u0442\u0438&#187;.<\/p>\n<figure class=\"full-width\"><\/figure>\n<p>\u041f\u0440\u0438\u043d\u044f\u0442\u043e \u0441\u0447\u0438\u0442\u0430\u0442\u044c, \u0447\u0442\u043e\u00a0\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u044d\u0442\u043e \u0441\u043b\u043e\u0436\u043d\u043e, \u043d\u043e\u00a0\u044d\u0442\u043e \u043c\u0438\u0444 (\u0432\u0441\u0435 \u043f\u0440\u043e\u0449\u0435, \u0447\u0435\u043c \u043a\u0430\u0436\u0435\u0442\u0441\u044f), \u0438 \u0432\u0441\u0435 \u0447\u0442\u043e\u00a0\u043d\u0443\u0436\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u0441\u0442\u0430\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u043e\u043c \u044d\u0442\u043e \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0443\u043f\u043e\u0440\u0441\u0442\u0432\u0430 \u0438 \u0438\u0437\u043e\u0431\u0440\u0435\u0442\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438.<\/p>\n<p>\u0412\u00a0\u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u0432\u0441\u0435 \u0431\u0430\u0437\u043e\u0432\u044b\u0435 \u043d\u0430\u0432\u044b\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0443\u0436\u043d\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u0443, \u043f\u043e\u00a0\u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u0438 \u0441\u0442\u0430\u0442\u044c\u0438 <strong>\u0443\u00a0\u0442\u0435\u0431\u044f \u0431\u0443\u0434\u0443\u0442 \u0432\u0441\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u043d\u0430\u0432\u044b\u043a\u0438 \u0434\u043b\u044f\u00a0C++ Junior Desktop Developer<\/strong>, \u0430\u00a0\u0442\u0430\u043a\u0436\u0435 <strong>\u0442\u044b \u0441\u043c\u043e\u0436\u0435\u0448\u044c \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c 90% \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u0441\u00a0\u0441\u043e\u0444\u0442 \u043f\u043e\u0440\u0442\u0430\u043b\u0430<\/strong>, \u043c\u0435\u043d\u044c\u0448\u0435 \u0441\u043b\u043e\u0432 \u0431\u043b\u0438\u0436\u0435 \u043a\u00a0\u0434\u0435\u043b\u0443.<\/p>\n<p>(\u0420\u0415\u041c\u0410\u0420\u041a\u0410! \u042d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u043d\u0435\u00a0\u0431\u0443\u0434\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430 \u0442\u0435\u043c, \u043a\u0442\u043e \u0443\u0436\u0435 \u0437\u043d\u0430\u0435\u0442 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u043e\u043f\u0440\u043e\u0448\u0443 \u0438\u0437\u0431\u0430\u0432\u0438\u0442\u044c \u043c\u0435\u043d\u044f \u043e\u0442\u00a0\u0432\u0430\u0448\u0435\u0433\u043e \u00ab\u044d\u043a\u0441\u043f\u0435\u0440\u0442\u043d\u043e\u0433\u043e \u043c\u043d\u0435\u043d\u0438\u044f\u00bb \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u0430.<\/p>\n<blockquote>\n<p>\u044f \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043b \u0446\u0438\u043a\u043b \u0438\u0437 5 \u0441\u0442\u0430\u0442\u0435\u0439 \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u043d\u044b\u0439 \u0432\u0441\u0435\u043c \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u043c \u044f\u0437\u044b\u043a\u0430\u043c (\u0441++, \u043f\u0430\u0441\u043a\u0430\u043b\u044c, \u0434\u0436\u0430\u0432\u0430, \u0441\u0438 \u0448\u0430\u0440\u043f, \u0432\u0435\u0431), \u043d\u043e \u043d\u0430\u043b\u0435\u0442\u0435\u0432\u0448\u0438\u0435 <s>\u044d\u043a\u0441\u043f\u0435\u0440\u0442\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f<\/s> (*\u044b\u0434\u043b\u043e\u043a\u043e\u0434\u0435\u0440\u044b) , \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u0430\u0436\u0435 \u0441\u0442\u0430\u0442\u044c\u0438 \u0442\u043e\u043b\u043a\u043e\u043c \u043d\u0435 \u0447\u0438\u0442\u0430\u043b\u0438 \u0432\u044b\u0437\u0432\u0430\u043b\u0438 \u0443 \u043c\u0435\u043d\u044f \u0436\u0435\u0441\u0442\u043a\u0438\u0439 \u0431\u0430\u0434\u0445\u0435\u0440\u0442 \u0438 \u0434\u0435\u0437\u043c\u043e\u0440\u0430\u043b, \u0438\u0437 \u0437\u0430 \u0447\u0435\u0433\u043e \u0436\u0435\u043b\u0430\u043d\u0438\u0435 \u043f\u0438\u0441\u0430\u0442\u044c \u0441\u0442\u0430\u0442\u044c\u0438 \u0443\u043f\u0430\u043b\u043e \u043d\u0430 \u043f\u043e\u043b \u0448\u0435\u0441\u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u0438 \u043f\u0440\u0435\u0431\u044b\u0432\u0430\u043d\u0438\u0435 \u043d\u0430 \u044d\u0442\u043e\u043c \u043f\u0430\u0431\u043b\u0438\u043a\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u043e\u0440\u044f\u043d\u0447\u0438\u043a:(<\/p>\n<\/blockquote>\n<h4>\u0427\u0443\u0442\u044c-\u0447\u0443\u0442\u044c \u0442\u0435\u043e\u0440\u0438\u0438 \u0438 \u043c\u043d\u043e\u0433\u043e \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438<\/h4>\n<p>\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u043e \u043d\u0430 4\u00a0\u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u043a\u043e\u043d\u0446\u0435\u043f\u0442\u0430\u0445:<\/p>\n<ol>\n<li>\n<p>\u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435<\/p>\n<\/li>\n<li>\n<p>\u041a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u0439<\/p>\n<\/li>\n<li>\n<p>\u041a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0446\u0438\u043a\u043b\u043e\u0432<\/p>\n<\/li>\n<li>\n<p>\u0418 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0439<\/p>\n<\/li>\n<\/ol>\n<p>\u0412\u00a0\u0434\u0432\u0443\u0445 \u0441\u043b\u043e\u0432\u0430\u0445 \u043c\u044b \u0445\u0438\u0442\u0440\u043e\u0443\u043c\u043d\u043e \u0438\u0433\u0440\u0430\u0435\u043c \u0441\u00a0\u0431\u0430\u0437\u043e\u0432\u044b\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u043e\u043c, \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u043c \u043d\u0430\u00a0\u0443\u0440\u043e\u0432\u043d\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430\\\u0431\u0438\u043e\u0441\u0430\\\u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u043a\u043e\u043c\u0431\u0438\u043d\u0438\u0440\u0443\u0435\u043c \u0442\u0435 \u0431\u0430\u0437\u043e\u0432\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0441\u00a0\u043a\u0430\u043a\u0438\u043c\u0438\u2011\u0442\u043e \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0438\u0437\u00a0\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0443\u0441\u043b\u043e\u0432\u0438\u044f \u0438 \u0446\u0438\u043a\u043b\u044b \u0438 \u043e\u0431\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0435\u043c \u044d\u0442\u043e \u0432\u0441\u0435 \u0432\u00a0\u043d\u043e\u0432\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438.<\/p>\n<p>\u041a\u00a0\u043f\u0440\u0438\u043c\u0435\u0440\u0443:<\/p>\n<p>\u0423\u00a0\u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043d\u0430\u00a0\u0443\u0440\u043e\u0432\u043d\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b (\u0434\u043b\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0446\u0432\u0435\u0442\u0430 \u043f\u0438\u043a\u0441\u0435\u043b\u044f \u043d\u0430\u00a0\u044d\u043a\u0440\u0430\u043d\u0435, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u044b\u0445\u043e\u0434\u0438\u0442 \u043e\u0442\u00a0\u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 \u0432\u0438\u0434\u0435\u043e\u043a\u0430\u0440\u0442\u044b, \u0430\u00a0\u0442\u0430 \u0438\u0437\u00a0\u043a\u043e\u043c\u0431\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 \u0438 \u0432\u0438\u0434\u0435\u043e\u043a\u0430\u0440\u0442\u044b).<\/p>\n<p>\u041c\u044b \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c \u044d\u0442\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u044e (\u0432 \u043a\u0430\u043a\u0438\u0445\u2011\u043b\u0438\u0431\u043e \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430\u0445), \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0440\u0438\u0441\u0443\u0435\u043c\u00a0\u043b\u0438\u043d\u0438\u044e, \u043e\u0431\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0435\u043c \u044d\u0442\u043e \u0432\u00a0\u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0434\u043b\u044f\u00a0\u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f\u00a0\u043b\u0438\u043d\u0438\u0439, 4\u00a0\u0440\u0430\u0437\u0430 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c \u044d\u0442\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u0440\u0438\u0441\u043e\u0432\u0430\u0442\u044c (\u043a \u043f\u0440\u0438\u043c\u0435\u0440\u0443) \u043a\u043d\u043e\u043f\u043a\u0443, \u043f\u043e\u0442\u043e\u043c \u043e\u0431\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0435\u043c \u044d\u0442\u043e \u0432\u00a0\u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0434\u043b\u044f\u00a0\u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043d\u043e\u043f\u043e\u043a \u0438 \u0443\u0436\u0435 \u0440\u0438\u0441\u0443\u0435\u043c \u0432\u00a0\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442\u00a0\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043a\u0443\u0440\u0441\u043e\u0440\u0430 \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u0446\u0432\u0435\u0442\u0430\u043c\u0438, \u0438 \u0442\u0434.<\/p>\n<p>\u041d\u0430\u0434\u0435\u044e\u0441\u044c, \u043b\u043e\u0433\u0438\u043a\u0430 \u043f\u043e\u043d\u044f\u0442\u043d\u0430, \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u043e\u00a0\u0441\u0443\u0442\u0438:<\/p>\n<p>\u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f\u00a0\u2014 \u0443\u0441\u043b\u043e\u0432\u043d\u044b\u0439 \u00ab\u043c\u0430\u0440\u043a\u0435\u0440 \u0434\u0430\u043d\u043d\u044b\u0445\u00bb, \u043f\u043e\u0434\u0441\u0442\u0430\u043d\u043e\u0432\u043e\u0447\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e, \u0441\u00a0\u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0447\u0442\u043e\u2011\u0442\u043e \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u043e\u0432\u0430\u043d\u043e, \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n<p>\u041a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u0443\u0441\u043b\u043e\u0432\u0438\u0439\u00a0\u2014 \u043a\u0430\u043a\u043e\u0435\u00a0\u043b\u0438\u0431\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u0434\u043b\u044f\u00a0\u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043e\u0434\u043d\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u043a\u043e\u0434\u0430,\u00a0\u043b\u0438\u0431\u043e \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u043e\u0439 (\u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437\u00a0\u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 \u00ab\u0443\u0441\u043b\u043e\u0432\u0438\u044f\u00bb \u0438 \u0431\u043b\u043e\u043a\u0430 \u043a\u043e\u0434\u0430, \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0433\u043e {} \u0441\u043e\u0431\u0430\u043a\u0430\u043c\u0438 \u00ab\u0442\u0435\u043b\u0430\u00bb).<\/p>\n<p>\u041a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u0446\u0438\u043a\u043b\u0430\u00a0\u2014 \u0442\u043e\u0436\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u0435, \u043d\u043e\u00a0\u0432\u043c\u0435\u0441\u0442\u043e \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u043e\u0433\u043e, \u043a\u043e\u0434\u0430 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u0442 \u043a\u043e\u0434 \u0432\u043d\u0443\u0442\u0440\u0438 \u0442\u0435\u043b\u0430 (\u0444\u0438\u0433\u0443\u0440\u043d\u044b\u0445 {} \u0441\u043a\u043e\u0431\u043e\u0447\u0435\u043a), \u0434\u043e\u00a0\u0442\u0435\u0445 \u043f\u043e\u0440, \u043f\u043e\u043a\u0430 \u0443\u0441\u043b\u043e\u0432\u0438\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f.<\/p>\n<p>\u0424\u0443\u043d\u043a\u0446\u0438\u044f\u00a0\u2014 \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043a\u0430\u043a\u043e\u0439\u2011\u043b\u0438\u0431\u043e \u0431\u043b\u043e\u043a \u043a\u043e\u0434\u0430, \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043d\u0430\u00a0\u043c\u0435\u0441\u0442\u043e \u0441\u0432\u043e\u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u0430\u043a\u0438\u0435\u2011\u043b\u0438\u0431\u043e \u0434\u0430\u043d\u043d\u044b\u0435 (\u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043c\u043e\u0436\u0435\u0442 \u043d\u0435\u00a0\u0442\u043e\u043b\u044c\u043a\u043e \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0442\u044c \u043a\u0430\u043a\u0438\u0435\u2011\u043b\u0438\u0431\u043e \u0434\u0430\u043d\u043d\u044b\u0435, \u043d\u043e\u00a0\u0438 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u0432\u00a0\u0441\u0435\u0431\u044f \u0434\u0430\u043d\u043d\u044b\u0435 (\u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b \u0444\u0443\u043d\u043a\u0446\u0438\u0438), \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u043c\u0435\u0441\u0442\u0435 \u0441\u00a0\u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 \u0443\u043a\u0430\u0437\u0430\u043d\u044b \u0432\u00a0\u043c\u0435\u0441\u0442\u0435 \u0432\u044b\u0437\u043e\u0432\u0430, \u0432\u00a0\u043a\u043e\u0434\u0435, \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0442\u0430\u043a\u0436\u0435 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437\u00a0\u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 \u0438 \u0442\u0435\u043b\u0430).<\/p>\n<p>\u041d\u0435\u0447\u0442\u043e \u0432\u0430\u0436\u043d\u043e\u0435, \u0447\u0442\u043e\u00a0\u043d\u0443\u0436\u043d\u043e \u0437\u043d\u0430\u0442\u044c \u044d\u0442\u043e \u00ab\u0442\u0438\u043f\u044b \u0434\u0430\u043d\u043d\u044b\u0445\u00bb \u0434\u043b\u044f\u00a0\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445, \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0435 \u0447\u0438\u0441\u043b\u043e\u0432\u044b\u0435 \u0438 \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u044b\u0435, \u043d\u043e\u00a0\u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u00ab\u0442\u0438\u043f\u043e\u0432 \u0434\u0430\u043d\u043d\u044b\u0445\u00bb \u044d\u0442\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0435 \u0442\u0438\u043f\u044b \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u0441\u043e\u0441\u0442\u043e\u044f\u0442\u044c \u043a\u0430\u043a\u00a0\u0438\u0437 2\u00a0\u0447\u0438\u0441\u043b\u043e\u0432\u044b\u0445 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0432\u00a0\u043e\u0434\u043d\u043e\u0439, \u0442\u0430\u043a \u0438 \u0438\u0437\u00a0\u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043e\u043a\u043e\u043d \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0432\u00a0\u043e\u0434\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 (\u0438\u043d\u0430\u0447\u0435 \u0433\u043e\u0432\u043e\u0440\u044f \u0442\u0438\u043f\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f\u00a0\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043b\u044e\u0431\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435, \u0430\u00a0\u044d\u0442\u0438 \u00ab\u043b\u044e\u0431\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u0438\u043c\u0435\u0442\u044c \u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u0435\u0431\u044f, \u043a\u0430\u043a\u00a0\u043f\u0440\u043e\u0441\u0442\u043e \u0447\u0438\u0441\u043b\u043e, \u0442\u0430\u043a \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0446\u0438\u043a\u043b\u044b, \u0443\u0441\u043b\u043e\u0432\u0438\u044f, \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435, \u0438 \u0434\u0440\u0443\u0433\u0438\u0435, \u043a\u043d\u043e\u043f\u043a\u0438, \u043e\u043a\u043d\u0430, \u0438 \u0442\u0434).<\/p>\n<p>\u041d\u0438\u0447\u0435\u0433\u043e \u0441\u0442\u0440\u0430\u0448\u043d\u043e\u0433\u043e \u0435\u0441\u043b\u0438 \u043d\u0435\u043f\u043e\u043d\u044f\u0442\u043d\u043e \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c\u0441\u044f \u043d\u0430\u00a0\u0445\u043e\u0434\u0443.<\/p>\n<p>\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0438\u0437\u00a0\u0442\u0435\u043e\u0440\u0438\u0438 \u044d\u0442\u043e GetMessage() \u0438 SendMessage(), \u0434\u0432\u0435 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043d\u0430\u00a0\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u044b \u0432\u0441\u0435 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u043f\u0435\u0440\u0432\u0430\u044f \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043e\u0442\u00a0\u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u0432\u0442\u043e\u0440\u0430\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0432\u00a0\u0441\u0438\u0441\u0442\u0435\u043c\u0443.<\/p>\n<p>\u041a\u00a0\u043f\u0440\u0438\u043c\u0435\u0440\u0443: \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043e\u0442\u00a0\u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u00ab\u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b \u043c\u044b\u0448\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u044b\u00bb, \u0432\u00a0\u043a\u043e\u0434\u0435 \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0443\u0441\u043b\u043e\u0432\u0438\u0435, \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u044e\u0449\u0438\u0435 \u043f\u0435\u0440\u0435\u0441\u0435\u043a\u0430\u044e\u0442\u00a0\u043b\u0438 \u043d\u043e\u0432\u044b\u0435 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b \u043c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043a\u043d\u043e\u043f\u043a\u0438, \u0438, \u0435\u0441\u043b\u0438 \u0434\u0430, \u043c\u0435\u043d\u044f\u0435\u043c \u0446\u0432\u0435\u0442 \u043a\u043d\u043e\u043f\u043a\u0438. \u041e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a\u0436\u0435 (\u0438\u0437 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0432\u00a0\u0441\u0438\u0441\u0442\u0435\u043c\u0443), \u0438 \u0442\u0430\u043a\u043e\u0439 \u0446\u0438\u043a\u043b \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0432\u0441\u0435 \u0432\u0440\u0435\u043c\u044f, \u043f\u043e\u043a\u0430 \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 (\u0441\u0438\u0441\u0442\u0435\u043c\u0430: \u043d\u0430\u0436\u0430\u0442\u0430 \u043a\u043d\u043e\u043f\u043a\u0430, \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430: \u0438\u0437\u043c\u0435\u043d\u0435\u043d \u0440\u0430\u0437\u043c\u0435\u0440 \u043e\u043a\u043d\u0430, \u0441\u0438\u0441\u0442\u0435\u043c\u0430: \u0441\u043e\u0437\u0434\u0430\u043d \u043d\u043e\u0432\u044b\u0439 \u0444\u0430\u0439\u043b, \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430: \u043e\u043a\u043d\u043e \u043f\u0435\u0440\u0435\u0440\u0438\u0441\u043e\u0432\u0430\u043d\u043e, \u0438 \u0442\u0434).<\/p>\n<h3>\u041c\u043d\u043e\u0433\u043e \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438<\/h3>\n<p>\u0417\u0430\u043f\u0443\u0441\u0442\u0438\u043c Visual Studio \u0438 \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043d\u043e\u0432\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442, \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 Windows (\u0434\u043b\u044f \u043d\u0435\u0433\u043e \u0434\u0430\u0436\u0435 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435\u00a0\u043d\u0443\u0436\u043d\u043e \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0442\u044c, \u0432\u0441\u0435 \u0443\u0436\u0435 \u0432\u00a0\u0441\u0438\u0441\u0442\u0435\u043c\u0435), \u0442\u044b\u043a\u0430\u0435\u043c \u0434\u0430\u043b\u0435\u0435\\\u0441\u043e\u0437\u0434\u0430\u0442\u044c. \u0413\u043e\u0442\u043e\u0432\u043e, \u043c\u043e\u0436\u0435\u043c \u043d\u0430\u0436\u0430\u0442\u044c \u043a\u043d\u043e\u043f\u043a\u0443 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c, \u0438 \u0443\u00a0\u043d\u0430\u0441 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c\u0441\u044f \u0433\u043e\u0442\u043e\u0432\u043e\u0435 \u043f\u0443\u0441\u0442\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435.<\/p>\n<figure class=\"full-width\"><\/figure>\n<p>\u0417\u0430\u043a\u0440\u043e\u0435\u043c \u0435\u0433\u043e (\u043d\u0435 \u043f\u0443\u0433\u0430\u0435\u043c\u0441\u044f!).<\/p>\n<p>\u0412\u00a0\u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0435 \u043f\u043e\u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u043c\u043d\u043e\u0433\u043e \u0447\u0435\u0433\u043e \u043d\u0435\u00a0\u043f\u043e\u043d\u044f\u0442\u043d\u043e\u0433\u043e (\u043d\u0438\u0447\u0435\u0433\u043e \u0441\u0442\u0440\u0430\u0448\u043d\u043e\u0433\u043e \u0447\u0442\u043e\u00a0\u043d\u0435\u043f\u043e\u043d\u044f\u0442\u043d\u043e), \u0438 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 (\u0432\u043e\u0442 \u044d\u0442\u043e \/\/\u0437\u0435\u043b\u0435\u043d\u043e\u0435 \u043d\u0430\u00a0\u0440\u0443\u0441\u0441\u043a\u043e\u043c) \u043d\u0435\u00a0\u043e\u0441\u043e\u0431\u043e \u043f\u043e\u043c\u043e\u0433\u0430\u044e\u0442.<\/p>\n<p>\u0412\u043e\u043e\u0431\u0449\u0435 \u0434\u043b\u044f\u00a0\u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 Win32\u00a0\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043a\u043e\u0434 \u0438\u0437\u0431\u044b\u0442\u043e\u0447\u0435\u043d, \u0438 \u043d\u0435\u00a0\u0441\u043e\u0432\u0441\u0435\u043c \u043f\u043e\u043d\u044f\u0442\u0435\u043d \u0434\u0430\u0436\u0435 \u0434\u043b\u044f \u00ab\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u043e\u0432\u00bb, \u044f \u0434\u0443\u043c\u0430\u044e \u044d\u0442\u043e \u0442\u0430\u043a\u0430\u044f \u00ab\u0448\u0443\u0442\u043e\u0447\u043a\u0430\u00bb \u043e\u0442\u00a0\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432, \u043c\u043e\u043b \u0441\u043f\u0440\u0430\u0432\u0438\u0448\u044c\u0441\u044f \u0441\u00a0\u044d\u0442\u0438\u043c, \u0437\u043d\u0430\u0447\u0438\u0442 \u0441\u043f\u0440\u0430\u0432\u0438\u0448\u044c\u0441\u044f \u0441\u043e \u0432\u0441\u0435\u043c (\u043a\u0430\u043a \u043d\u0435\u00a0\u0442\u0440\u0443\u0434\u043d\u043e \u0434\u043e\u0433\u0430\u0434\u0430\u0442\u044c\u0441\u044f \u043f\u043e\u00a0\u043c\u0430\u043b\u043e\u043c\u0443 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0443 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c, \u0438 \u0432\u00a0\u043e\u0431\u0449\u0435\u043c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043f\u043e\u00a0\u0434\u0430\u043d\u043d\u043e\u043c\u0443 \u043f\u043e\u0434\u0445\u043e\u0434\u0443 \u0432\u00a0\u0441\u0435\u0442\u0438, \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e 90% \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u043e\u0432\u00a0\u2014 \u043d\u0435\u00a0\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u044b).<\/p>\n<p>\u041d\u0430\u00a0\u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u0438\u0437\u00a0\u0432\u0441\u0435\u0433\u043e \u044d\u0442\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u043d\u0430\u043c \u0445\u0432\u0430\u0442\u0438\u043b\u043e\u00a0\u0431\u044b \u043e\u0434\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438 \u043f\u0430\u0440\u044b \u043a\u043e\u043c\u0430\u043d\u0434, \u043d\u0443 \u0434\u0430\u00a0\u043b\u0430\u0434\u043d\u043e, \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434!<\/p>\n<h2>\u042d\u0442\u0430\u043f \u21161 \u043e\u0447\u0435\u043d\u044c \u0441\u043b\u043e\u0436\u043d\u044b\u0439 \u043a\u043e\u0434<\/h2>\n<details class=\"spoiler\">\n<summary>\u041d\u0443 \u0448\u043e \u043d\u0430\u0440\u043e\u0434 \u043f\u043e\u0433\u043d\u0430\u043b\u0438 \u043d\u0430!?<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"cpp\">\/\/ WindowsProject1.cpp : \u041e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0442\u043e\u0447\u043a\u0443 \u0432\u0445\u043e\u0434\u0430 \u0434\u043b\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f. \/\/  \/\/ \u044d\u0442\u043e\u0442 \u043a\u0443\u0441\u043e\u043a \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c (\u044d\u0442\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u043b \u044f) \/\/ \u0434\u0438\u0440\u0435\u043a\u0442\u0438\u0432\u0430 pragma once \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u0435\u0442 \/\/ \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0431\u0430\u0433\u0430 \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435, \/\/ \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u043e\u0438\u0437\u043e\u0439\u0442\u0438 \u0438\u0437-\u0437\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0434\u043b\u044f \/\/ \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a (\u0444\u0430\u0439\u043b\u043e\u0432 \u0441 \u0437\u0430\u0433\u043e\u0442\u043e\u0432\u043a\u0430\u043c\u0438 \u043a\u043e\u0434\u0430) \/\/ include, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043d\u0430 \u0441\u0432\u043e\u0435 \u043c\u0435\u0441\u0442\u043e \/\/ \u0432\u0441\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0444\u0430\u0439\u043b\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u044b\u043b \u0443\u043a\u0430\u0437\u0430\u043d \/\/ (\u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u044b include \u0432\u043d\u0443\u0442\u0440\u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u043e\u0433\u043e \/\/ \u0444\u0430\u0439\u043b\u0430) \u043f\u0440\u0438 \u0432\u044b\u0437\u043e\u0432\u0435, \u0438\u0437 \u0437\u0430 \u0447\u0435\u0433\u043e \u043c\u043e\u0433\u0443 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0442\u044c \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \/\/ \u043e\u0448\u0438\u0431\u043a\u0438 \u0438 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u0441\u0430\u043c\u043e\u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f (\u043a\u043e\u0433\u0434\u0430 \/\/ \u043e\u0434\u043d\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0441\u0441\u044b\u043b\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0432\u0442\u043e\u0440\u0443\u044e, \u0430 \u0432\u0442\u043e\u0440\u0430\u044f \u043d\u0430 \/\/ \u043f\u0435\u0440\u0432\u0443\u044e), \u0432 \u0434\u0432\u0443\u0445 \u0441\u043b\u043e\u0432\u0430\u0445 \u0432\u0441\u0435 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 \u0441\u043e\u0431\u0438\u0440\u0430\u044e\u0442\u0441\u044f \/\/ \u0432 \u043e\u0434\u043d\u0438 \u0434\u043b\u0438\u043d\u043d\u044b\u0439 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 (\u043a\u043e\u043c\u0430\u043d\u0434\u0430\u043c\u0438 include), \/\/ \u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 pragma once \u0443\u0434\u0430\u043b\u044f\u0435\u0442 \u0432\u0441\u0435 \u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u044b, \/\/ \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0430\u043c\u0443\u044e \u043f\u0435\u0440\u0432\u0443\u044e include, \/\/ \u043b\u0438\u0447\u043d\u043e \u044f \u043d\u0430\u0447\u0438\u043d\u0430\u044e \u043b\u044e\u0431\u043e\u0439 \u0444\u0430\u0439\u043b \u0441 pragma once, \/\/ \u0447\u0442\u043e \u0431\u044b \u043d\u0435 \u0431\u0435\u0441\u043f\u043e\u043a\u043e\u0438\u0442\u0441\u044f \u043e \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u044f\u0445, \u043d\u043e \u044d\u0442\u043e \/\/ \u043d\u0435 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e (\u043a\u0430\u0440\u043e\u0447\u0435 \u043f\u043e\u043a\u0430 \u043d\u0435 \u0437\u0430\u043c\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0439\u0442\u0435\u0441\u044c) #pragma once   \/\/ \u0438 \u043d\u0430\u0447\u0430\u0442\u044c \u043e\u0442\u0441\u044e\u0434\u0430 \/\/ \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \/\/ \u043d\u0430\u0431\u043e\u0440\u044b \u0433\u043e\u0442\u043e\u0432\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u043a\u0430\u043a \u0432 \u044d\u0442\u043e\u043c \u0444\u0430\u0439\u043b\u0435,  \/\/ \u0433\u0434\u0435 \u0443\u0436\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0435 \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0438 (\u0437\u0430\u0433\u043e\u0442\u043e\u0432\u043a\u0438) \u0434\u043b\u044f \/\/ \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043d\u0430\u0448\u0435\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b #include \"framework.h\" #include \"WindowsProject2.h\"  \/\/ \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043c \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0442\u0435\u0440\u043c\u0438\u043d  \/\/ (\u0447\u0438\u0442\u0430\u0439 \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0440\u0430\u0437\u043d\u043e\u0432\u0438\u0434\u043d\u043e\u0441\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439) \/\/ \u043f\u043e\u0434 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c MAX_LOADSTRING \u0438 \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u0443\u0435\u043c \/\/ \u0441 \u043d\u0435\u0439 \u0447\u0438\u0441\u043b\u043e 999, \u0442\u0435\u043f\u0435\u0440\u044c \u0432\u0435\u0437\u0434\u0435 \u0432 \u043a\u043e\u0434\u0435, \u0433\u0434\u0435  \/\/ \u0431\u0443\u0434\u0435\u0442 \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u0435\u0442\u0441\u044f \u0442\u0435\u0440\u043c\u0438\u043d MAX_LOADSTRING \/\/ \u043e\u043d \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043c\u0435\u043d\u044f\u0442\u0441\u044f \u043d\u0430 999 #define MAX_LOADSTRING 999  \/\/ \u0413\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435: \/\/  \/\/ hInst \u044d\u0442\u043e \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u0430\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430 \u043d\u0430\u0448\u0435\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \/\/ \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c - \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u0438\u0448\u0435\u0442\u0441\u044f \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e, \/\/ \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439, \u043f\u043e\u0442\u043e\u043c \u043a\u0430\u043a\u043e\u0435-\u043d\u0438\u0431\u0443\u0434\u044c \u0438\u043c\u044f (\u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \/\/ \u0441\u043b\u043e\u0432\u043e), \u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0435, \u0442\u043e \u0435\u0441\u0442\u044c \u0432\u0435\u0437\u0434\u0435 \u0432 \u043a\u043e\u0434\u0435, \u0433\u0434\u0435 \u0431\u0443\u0434\u0435\u0442 \/\/ \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u0435\u0442\u0441\u044f \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e, \u043e\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0437\u0430\u043c\u0435\u043d\u044f\u0442\u0441\u044f \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0435, \/\/ \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u044b\u043b\u0438 \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0441 \u044d\u0442\u0438\u043c \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u043c \u0441\u043b\u043e\u0432\u043e\u043c HINSTANCE hInst;                                \/\/ \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440  \/\/ \u0441\u0440\u0430\u0437\u0443 \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0441\u0432\u043e\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e, \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 \/\/ \u0431\u0443\u0434\u0435\u0442 HWND, \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 Form1, \u0431\u0443\u0434\u0435\u043c \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0442\u0443\u0442 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \/\/ \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043d\u0430 \u043d\u0430\u0448\u0435 \u043e\u043a\u043d\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b (\u0444\u043e\u0440\u043c\u044b) HWND Form1;  \/\/ \u0432 \u043e\u0431\u0449\u0435\u043c \u0442\u043e \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u043f\u0430\u0440\u0443 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0442\u0438\u043f\u0430 \"\u0431\u0443\u043a\u0432\u0435\u043d\u043d\u0430\u044f \u043c\u043d\u043e\u0433\u043e\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0432 \u043e\u0434\u043d\u043e\u0439\", \/\/ \u0438 \u0441\u0440\u0430\u0437\u0443 \u0437\u0430\u0434\u0430\u0435\u043c \u0435\u0433\u043e \u0434\u043b\u0438\u043d\u0443 \u0432 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0435 [MAX_LOADSTRING] (\u0438\u043d\u0430\u0447\u0435 \u0433\u043e\u0432\u043e\u0440\u044f \u043d\u0430\u0431\u043e\u0440  \/\/ \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432, \u0438\u043b\u0438 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435) WCHAR szTitle[MAX_LOADSTRING];                  \/\/ \u0422\u0435\u043a\u0441\u0442 \u0441\u0442\u0440\u043e\u043a\u0438 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 WCHAR szWindowClass[MAX_LOADSTRING];            \/\/ \u0438\u043c\u044f \u043a\u043b\u0430\u0441\u0441\u0430 \u0433\u043b\u0430\u0432\u043d\u043e\u0433\u043e \u043e\u043a\u043d\u0430  \/\/ \u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044b\u0445 \u0432 \u044d\u0442\u043e\u0442 \u043c\u043e\u0434\u0443\u043b\u044c \u043a\u043e\u0434\u0430: \/\/  \/\/ \u044d\u0442\u0438 \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0441\u0435\u0439\u0447\u0430\u0441 \u043d\u0435 \u0432\u0430\u0436\u043d\u044b, \u043f\u043e \u0441\u0443\u0442\u0438, \u043e\u043d\u0438 \u043f\u0440\u043e\u0441\u0442\u043e \"\u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0443\u044e\u0442\" \/\/ \u043d\u0430\u0448\u0443 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u0434\u043b\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u0441\u043e\u0437\u0434\u0430\u044e\u0442 \u043d\u043e\u0432\u044b\u0439 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u043e\u043a\u043d\u0430 (\u0438\u0437 \u0437\u0430\u0433\u043e\u0442\u043e\u0432\u043e\u043a \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435)  \/\/ \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044e\u0442 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 (\u043d\u0435\u0442 \u0441\u043c\u044b\u0441\u043b\u0430 \u0432\u0434\u0430\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438, \u0438 \u0437\u0430\u0431\u0438\u0432\u0430\u0442\u044c \u0433\u043e\u043b\u043e\u0432\u0443) \/\/ \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0442\u0441\u044f \u0441 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u043e\u0432, \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0438\u0434\u0435\u0442 \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u043e\u043b\u0436\u043d\u0430 \u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044f, \/\/ \u043f\u043e\u0442\u043e\u043c \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e, \u043b\u044e\u0431\u043e\u0435 (\u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u044d\u0442\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438), \u0438 \u043d\u0430\u043a\u043e\u043d\u0435\u0446 \u0432 \u043a\u0440\u0443\u0433\u043b\u044b\u0445 () \u0441\u043a\u043e\u0431\u043a\u0430\u0445 \/\/ \"\u0437\u0430\u0433\u043e\u0442\u043e\u0432\u043a\u0438\" \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0432\u0441\u0435\u0445 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 <\/code><\/pre>\n<\/div>\n<\/details>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-362302","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/362302","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=362302"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/362302\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=362302"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=362302"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=362302"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}