{"id":377,"date":"2008-05-24T11:12:17","date_gmt":"2008-05-24T11:12:17","guid":{"rendered":"http:\/\/6teen.ru\/?p=103"},"modified":"2008-05-24T11:12:17","modified_gmt":"2008-05-24T11:12:17","slug":"9611","status":"publish","type":"post","link":"http:\/\/pblog.ru\/lab\/?p=377","title":{"rendered":"\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043f\u0443\u043d\u043a\u0442\u044b \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0435 \u043c\u0435\u043d\u044e Windows."},"content":{"rendered":"<p>\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043f\u0443\u043d\u043a\u0442\u044b \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0435 \u043c\u0435\u043d\u044e Windows.<br \/>\n<!--more--><\/p>\n<pre class=\"alt2\" style=\"margin:0px; padding:6px; border:1px inset; width:580px; height:320px; overflow:auto\"><div>\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043f\u0443\u043d\u043a\u0442\u044b \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0435 \u043c\u0435\u043d\u044e Windows.\n\n\u0412\u044b, \u043d\u0430\u0432\u0435\u0440\u043d\u043e\u0435, \u0437\u0430\u0434\u0430\u0432\u0430\u043b\u0438\u0441\u044c \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u043c, \u043f\u043e\u0447\u0435\u043c\u0443 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0435 \u043c\u0435\u043d\u044e \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u043e\u0434\u043d\u043e \u0438 \u0442\u043e\u0436\u0435 ? \u041f\u0440\u0438\u043c\u0435\u0440 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u043a\u0430\u043a \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0442\u0443\u0434\u0430 \u0442\u0430\u043a\u0438\u0435 \u043f\u0443\u043d\u043a\u0442\u044b \u043a\u0430\u043a \"about\" \u0438\u043b\u0438 \"information\", \u0438\u043b\u0438 \u0447\u0442\u043e-\u043d\u0438\u0431\u0443\u0434\u044c \u0435\u0449\u0451.\n\u0421\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u044c: delphi 3.x (\u0438\u043b\u0438 \u0432\u044b\u0448\u0435)\n\u041d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u0434\u0432\u0435 \u0432\u0435\u0449\u0438, \u043f\u0435\u0440\u0432\u0430\u044f \u044d\u0442\u043e item id, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043b\u044e\u0431\u044b\u043c \u0446\u0435\u043b\u044b\u043c \u0447\u0438\u0441\u043b\u043e\u043c. \u0412\u0442\u043e\u0440\u043e\u0435 \u044d\u0442\u043e \u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435(caption) \u0434\u043b\u044f \u043d\u0430\u0448\u0435\u0433\u043e \u043f\u0443\u043d\u043a\u0442\u0430 \u043c\u0435\u043d\u044e. \u041d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u0442\u0430\u043a\u0436\u0435 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f window \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043d\u0430\u0436\u0430\u0442\u0438\u044f \u043d\u0430 \u043d\u0430\u0448 \u043f\u0443\u043d\u043a\u0442 \u043c\u0435\u043d\u044e.\n\nunit ohyeah;\ninterface\nuses\nsysutils, wintypes, winprocs, messages, classes, graphics, controls, forms, dialogs, menus;\ntype\ntform1 = class (tform)\n\nprocedure formcreate (sender : tobject);\n\nprivate {private declarations}\npublic {public declarations}\nprocedure winmsg (var msg : tmsg; var handled : boolean);\nprocedure dowhateever;\nend;\n\nvar\nform1 : tform1;\n\nimplementation\n{$r *.dfm}\nconst\nitemid = 99; \/\/ id \u043d\u043e\u043c\u0435\u0440 \u0434\u043b\u044f \u043f\u0443\u043d\u043a\u0442\u0430 \u043c\u0435\u043d\u044e. \u041c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043b\u044e\u0431\u044b\u043c\n\nprocedure tform1.winmsg (var msg : tmsg; var handled : boolean);\nbegin\nif msg.message = wm_syscommand then\nif msg.wparam = itemid then dowhatever;\nend;\n\nprocedure tform1.formcreate (sender : tobject);\nbegin\napplication.onmessage := winmsg;\nappendmenu (getsystemmenu (form1.handle, false), mf_separator, 0, '');\nappendmenu (getsystemmenu (form1.handle, false), mf_byposition, itemid, '&my menu');\nappendmenu (getsystemmenu (application.handle, false), mf_separator, 0, '');\nappendmenu (getsystemmenu (application.handle, false), mf_byposition, itemid,'&my menu minimized');\nend;\n\nprocedure tform1.dowhatever;\nbegin\nexit; \/\/ \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0437\u0434\u0435\u0441\u044c \u0432\u0441\u0451, \u0447\u0442\u043e \u0443\u0433\u043e\u0434\u043d\u043e\nend;\nend.\n\n**********************************************************************\n\n   \u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043f\u0443\u043d\u043a\u0442 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0435 \u043c\u0435\u043d\u044e, \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0435\u0433\u043e \u0432\u044b\u0431\u043e\u0440\u0430 \u0438 \u043f\u0435\u0440\u0435\u0445\u0432\u0430\u0442\u0438\u0442\u044c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043e \u0432\u044b\u0431\u043e\u0440\u0435 \u043f\u0443\u043d\u043a\u0442\u0430 \u0438\u0437\n   \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0433\u043e \u043c\u0435\u043d\u044e.\n   \u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435: \u041a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u0430 WM_USER \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0445 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439.\n   \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043e\u0442 0 \u0434\u043e (WM_USER-1) \u0437\u0430\u0440\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0434\u043b\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0445 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439.\n   type\n     TForm1 = class(TForm)\n       procedure FormCreate(Sender: TObject);\n       procedure OnMyMenu;\n     private\n       procedure WMSysCommand(var Msg: TWMSysCommand); message WM_SYSCOMMAND;\n     end;\n   var\n     Form1: TForm1;\n   implementation\n   {$R *.DFM}\n   const\n     SC_MyMenuItem = WM_USER + 1;\n   \/\/----------------------------------------------------\n   procedure TForm1.FormCreate(Sender: TObject);\n   begin\n     \/\/ \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u0432\u043e\u0435\u0433\u043e \u043f\u0443\u043d\u043a\u0442\u0430 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0435 \u043c\u0435\u043d\u044e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\n    AppendMenu(GetSystemMenu(Handle, FALSE), MF_SEPARATOR, 0, '');\n     AppendMen!\n   u(GetSystemMenu(Handle, FALSE), MF_STRING,\n                SC_MyMenuItem, '\u041d\u043e\u0432\u044b\u0439 \u043f\u0443\u043d\u043a\u0442 \u0432 \u043c\u0435\u043d\u044e');\n   end;\n   \/\/----------------------------------------------------\n   procedure TForm1.OnMyMenu;\n   Begin\n    \/\/ \u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043d\u0430\u0436\u0430\u0442\u0438\u044f \u043d\u0430 \u043d\u043e\u0432\u044b\u0439 \u043f\u0443\u043d\u043a\u0442 \u043c\u0435\u043d\u044e\n   End;\n   \/\/----------------------------------------------------\n   procedure TForm1.WMSysCommand(var Msg: TWMSysCommand);\n   begin\n     \/\/ \u043f\u0435\u0440\u0435\u0445\u0432\u0430\u0442 \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u0432\u044b\u0431\u043e\u0440\u0430 \u043d\u043e\u0432\u043e\u0433\u043e \u043f\u0443\u043d\u043a\u0442\u0430 \u043c\u0435\u043d\u044e\n     if Msg.CmdType = SC_MyMenuItem then\n       OnMyMenu else\n       inherited;\n   end;\n<\/div><\/pre>\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043f\u0443\u043d\u043a\u0442\u044b \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0435 \u043c\u0435\u043d\u044e Windows.<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[448,454],"tags":[603,704,835,944,978],"_links":{"self":[{"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=\/wp\/v2\/posts\/377"}],"collection":[{"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=377"}],"version-history":[{"count":0,"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=\/wp\/v2\/posts\/377\/revisions"}],"wp:attachment":[{"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=377"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=377"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=377"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}