{"id":729,"date":"2008-05-23T13:02:16","date_gmt":"2008-05-23T13:02:16","guid":{"rendered":"http:\/\/6teen.ru\/?p=454"},"modified":"2008-05-23T13:02:16","modified_gmt":"2008-05-23T13:02:16","slug":"5825","status":"publish","type":"post","link":"http:\/\/pblog.ru\/lab\/?p=729","title":{"rendered":"\u041a\u0430\u043a \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0447\u0430\u0441\u0442\u0438 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438 \u0434\u043b\u044f \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f"},"content":{"rendered":"<p>\u041a\u0430\u043a \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0447\u0430\u0441\u0442\u0438 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438 \u0434\u043b\u044f \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f<br \/>\n<!--more--><\/p>\n<pre class=\"alt2\" style=\"margin:0px; padding:6px; border:1px inset; width:580px; height:320px; overflow:auto\"><div>\u041a\u0430\u043a \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0447\u0430\u0441\u0442\u0438 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438 \u0434\u043b\u044f \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f\n\n\u0421\u0430\u043c\u044b\u0439 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 - \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 Windows API DrawFocusRect. \u0424\u0443\u043d\u043a\u0446\u0438\u044f DrawFocusRect \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044e XOR \u043f\u0440\u0438 \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u0438 - \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0432\u044b\u0432\u043e\u0434 \u043f\u0440\u044f\u043c\u043e\u0443\u0433\u043e\u043b\u044c\u043d\u0438\u043a\u0430 \u0434\u0432\u0430\u0436\u0434\u044b \u0441 \u043e\u0434\u043d\u0438\u043c\u0438 \u0438 \u0442\u0435\u043c\u0438 \u0436\u0435 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430\u043c\u0438 \u0441\u0442\u0438\u0440\u0430\u0435\u0442 \u043f\u0440\u044f\u043c\u043e\u0443\u0433\u043e\u043b\u044c\u043d\u0438\u043a, \u0438 \u043f\u0440\u044f\u043c\u043e\u0443\u0433\u043e\u043b\u044c\u043d\u0438\u043a \u0432\u0441\u0435\u0433\u0434\u0430 \u0431\u0443\u0434\u0435\u0442 \u0432\u0438\u0434\u0435\u043d, \u043d\u0430 \u0444\u043e\u043d\u0435 \u043a\u0430\u043a\u043e\u0433\u043e \u0431\u044b \u0446\u0432\u0435\u0442\u0430 \u043e\u043d \u043d\u0435 \u0432\u044b\u0432\u043e\u0434\u0438\u043b\u0441\u044f.\n\u041f\u0440\u0438\u043c\u0435\u0440:\n\ntype\nTForm1 = class(TForm)\nprocedure FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);\nprocedure FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);\nprocedure FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);\nprivate\n{Private declarations}\nCapturing : bool;\nCaptured : bool;\nStartPlace : TPoint;\nEndPlace : TPoint;\npublic\n{Public declarations}\nend;\n\nvar\nForm1: TForm1;\n\nimplementation\n\n{$R *.DFM}\n\nfunction MakeRect(Pt1 : TPoint; Pt2 : TPoint) : TRect;\nbegin\nif pt1.x < pt2.x then\nbegin\nResult.Left := pt1.x;\nResult.Right := pt2.x;\nend else\nbegin\nResult.Left := pt2.x;\nResult.Right := pt1.x;\nend;\nif pt1.y < pt2.y then\nbegin\nResult.Top := pt1.y;\nResult.Bottom := pt2.y;\nend else\nbegin\nResult.Top := pt2.y;\nResult.Bottom := pt1.y;\nend;\nend;\n\nprocedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;\n\t\tShift: TShiftState; X, Y: Integer);\nbegin\nif Captured then\nDrawFocusRect(Form1.Canvas.Handle,MakeRect(StartPlace,EndPlace));\nStartPlace.x := X;\nStartPlace.y := Y;\nEndPlace.x := X;\nEndPlace.y := Y;\nDrawFocusRect(Form1.Canvas.Handle,MakeRect(StartPlace,EndPlace));\nCapturing := true;\nCaptured := true;\nend;\n\nprocedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,\n\t\tY: Integer);\nbegin\nif Capturing then\nbegin\nDrawFocusRect(Form1.Canvas.Handle,MakeRect(StartPlace,EndPlace));\nEndPlace.x := X;\nEndPlace.y := Y;\nDrawFocusRect(Form1.Canvas.Handle,MakeRect(StartPlace,EndPlace));\nend;\nend;\n\nprocedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;\n\t\tShift: TShiftState; X, Y: Integer);\nbegin\nCapturing := false;\nend;\n<\/div><\/pre>\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u041a\u0430\u043a \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0447\u0430\u0441\u0442\u0438 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438 \u0434\u043b\u044f \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[80,386],"tags":[1265,244,1683,1045],"_links":{"self":[{"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=\/wp\/v2\/posts\/729"}],"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=729"}],"version-history":[{"count":0,"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=\/wp\/v2\/posts\/729\/revisions"}],"wp:attachment":[{"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=729"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=729"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=729"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}