Bileşenlerin highlight olması

Yazdığınız makaleleri ve üyelerimizin işine yarayacağını düşündüğünüz kodlarınızı gönderebilirsiniz. Bu foruma soru sormayın!
Cevapla
oguzozturk74
Kıdemli Üye
Mesajlar: 574
Kayıt: 01 Şub 2004 12:29
Konum: Erdemli - MERSİN

Bileşenlerin highlight olması

Mesaj gönderen oguzozturk74 »

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;
Cevapla