unit DFindWindow; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs; const FRAME_LINE = 6; type TDlgFindWindow = class(TForm) private { Private declarations } public { Public declarations } procedure ShowFindRect(const aRect: TRect); end; var DlgFindWindow: TDlgFindWindow; implementation {$R *.dfm} procedure TDlgFindWindow.ShowFindRect(const aRect: TRect); var RectRgn1, RectRgn2, RectRgn3 : THandle; Monitor: TMonitor; begin // TForm.DefaultMonitor ¼Ó¼ºÀ» dmDesktop·Î ÇØ¾ß ´Ù¸¥ ¸ð´ÏÅÍ¿¡µµ Ç¥½Ã°¡ µÈ´Ù... 21_0721 14:41:23 sunk Left := aRect.Left; Top := aRect.Top; Width := aRect.Right - aRect.Left; Height := aRect.Bottom - aRect.Top; RectRgn1 := CreateRectRgn(0, 0, Width, Height); RectRgn2 := CreateRectRgn(0, 0, Width, Height); RectRgn3 := CreateRectRgn(FRAME_LINE, FRAME_LINE, Width-FRAME_LINE, Height-FRAME_LINE); CombineRgn(RectRgn1, RectRgn2, RectRgn3, RGN_XOR); SetWindowRgn(Handle, RectRgn1, True); DeleteObject(RectRgn1); DeleteObject(RectRgn2); DeleteObject(RectRgn3); Show; end; end.