![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Поменять шрифт надписи [D6, Win95/98]
Berg © (2002-12-09 16:17:00)Как изменить цвет шрифта надписи на время нахождения мыши над ним
Я делаю так, цвет меняется, но после ухода не восстанавливается, остается изменненым, что надо исправить?
procedure TForm1.RadioButton4MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
begin
RadioButton4.Font.Color:= clBlue;
end;
Skier (2002-12-09 16:50:00) [1]>Berg
Примерно так :
TForm1 = class(TForm)
RadioButton1: TRadioButton;
private
FOldColor : TColor;
FOldWndProc : TWndMethod;
procedure NewWndProc(var Message: TMessage);
public
end; //TForm1
procedure TForm1.NewWndProc(var Message: TMessage);
begin
with Message do begin
case Msg of
CM_MOUSEENTER : begin
FOldColor := Font.Color;
RadioButton1.Font.Color:= clBlue;
FOldWndProc(Message);
end; //CM_MOUSEENTER
CM_MOUSELEAVE : begin
RadioButton1.Font.Color:= FOldColor;
FOldWndProc(Message);
end //CM_MOUSEENTER
else FOldWndProc(Message);
end; //case
end; //with
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
FOldWndProc := RadioButton1.WindowProc;
RadioButton1.WindowProc := NewWndProc;
end;