| oguzozturk74 | 13.03.2004 - 23:56:12 |
| Form üzerinde bütün bileşenlerin mouse üzerinden geçerken ‘highlight’ olması
var hOldWnd :HWND; procedure TForm1.Timer1Timer(Sender: TObject); //Timer.interval:=500; procedure FrameWindow(Wnd: HWnd); var Rect: TRect; DC: hDC; OldPen, Pen: hPen; OldBrush, Brush: hBrush; X2, Y2: Integer; begin GetWindowRect(Wnd, Rect); DC := GetWindowDC(Wnd); SetROP2(DC, R2_NOT); Pen := CreatePen(PS_InsideFrame, 4, 0); OldPen := SelectObject(DC, Pen); Brush := GetStockObject(Null_Brush); OldBrush := SelectObject(DC, Brush); X2 := Rect.Right - Rect.Left; Y2 := Rect.Bottom - Rect.Top; Rectangle(DC, 0, 0, X2, Y2); SelectObject(DC, OldBrush); SelectObject(DC, OldPen); ReleaseDC(Wnd, DC); DeleteObject(Pen); end; var hNewWnd: HWnd; begin hNewWnd := WindowFromPoint(Mouse.CursorPos); if hNewWnd <> hOldWnd then begin if hOldWnd <> 0 then FrameWindow(hOldWnd); if hNewWnd <> 0 then FrameWindow(hNewWnd); hOldWnd := hNewWnd; end; end; | |