Как при наведении курсора мыши на кнопку менять ее цвет? |
|
Написал Ярослав Гасов
|
13.05.2009 |
type TForm1 = class(TForm) BitBtn1: TBitBtn; procedure FormCreate(Sender: TObject); private procedure NewBtnWindowProc(var Msg:TMessage); // Это новый обработчик end;
var Form1: TForm1;
implementation
{$R *.DFM}
var OldBtnWindowProc : TWndMethod;
procedure TForm1.NewBtnWindowProc; begin case msg.Msg of CM_MOUSELEAVE: BitBtn1.Font.Color := clGray; CM_MOUSEENTER: BitBtn1.Font.Color := clBlack; end; OldBtnWindowProc(Msg); end;
procedure TForm1.FormCreate(Sender: TObject); begin OldBtnWindowProc := BitBtn1.WindowProc; BitBtn1.WindowProc := NewBtnWindowProc; BitBtn1.Perform(CM_MOUSELEAVE,0,0); // Изначально серый end; |