문의하신 OnMouseMove를 이용하여..
마우스가 올라간 버턴의 색깔을 바꾸는 예제입니다..
참고하세요..
별로 추천할만한 소스가 아니라서리 죄송합니다..
하지만.. 될 수있는한 간단하게 만든 것이니..
사용하기에는 좋을 듯해여..
From 류..
---------
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, ExtCtrls;
type
TForm1 = class(TForm)
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
procedure FormCreate(Sender: TObject);
procedure BitBtn1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
private
{ Private declarations }
// 기존에 마우스가 지나간 Object를 저장
ExObject : TObject;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
begin
// 초기화, 아무것도 아직 마우스를 안지나갔음
ExObject:= Nil;
end;
procedure TForm1.BitBtn1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
// 기존에 지나가지 않은 것에서만 동작
If ExObject <> Sender then
Begin
// 이번에 지나가는 버턴의 폰트색을 변환
Try
If Sender.ClassType = TBitBtn then
TBitBtn(Sender).Font.Color:= clLime;
Except
End;
// 저번 것을 원래대로
Try
TBitBtn(ExObject).Font.Color:= clBlack;
Except
End;
End;
ExObject:= Sender;
end;
end.
|