Вопрос
Как при наведении курсора на кнопку менять ее цвет?
Ответ
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;
Из конференции Delphi
Copyright 2000-2004 Сообщество Чайников
Контактная информация