Вниз
Скачать: CL | DM;

События для TLabel   Найти похожие ветки 

← →
DJ Vano   (2003-06-10 01:12) [0]

Такой вопрос:
Нужно чтобы при наведении на метку курсора мышки менялся цвет шрифта(это просто), а при отведении становился старым или снова менял цвет на другой.....(а вот с этим проблема)
Как можно это реализовать на Делфи 5 (В Делфи 7 это просто - событие OnMouseLeave)....
Желательно поподробнее....
Заранее спасибо


← →
Нуу   (2003-06-10 03:15) [1]

Лови сообщение CM_MouseLeave.
procedure CMMouseLeave(var Mess: TMessage); message CM_MouseLeave;/


← →
drin ©   (2003-06-10 03:18) [2]

Создать свой компонент-наследник TLabel:


unit ColorLabel;

interface

uses
Windows, Messages, Graphics, Classes, Controls, StdCtrls;

type
TColorLabel = class(TLabel)
private
FOldColor, FMouseOverColor: TColor;
protected
procedure CMMOUSEENTER(var Message: TMessage); message CM_MOUSEENTER;
procedure CMMOUSELEAVE(var Message: TMessage); message CM_MOUSELEAVE;
public
constructor Create(AOwner: TComponent); override;
published
property OnMouseOverColor: TColor read FMouseOverColor write FMouseOverColor default clBlack;
end;

procedure Register;

implementation

procedure Register;
begin
RegisterComponents("Samples", [TColorLabel]);
end;

constructor TColorLabel.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
FOldColor:=Self.Font.Color;
end;

procedure TColorLabel.CMMOUSEENTER(var Message: TMessage);
begin
Self.Font.Color:=FMouseOverColor;
end;

procedure TColorLabel.CMMOUSELEAVE(var Message: TMessage);
begin
Self.Font.Color:=FOldColor;
end;

end.


← →
Спрашивающий   (2003-06-10 03:23) [3]

Пример для панели его можно причесать к чему угодно и в частности для Лабел
................................
private
procedure NewProc(var Msg: TMessage);
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
Old: TWndMethod;

implementation

{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
begin
Old := Panel2.WindowProc;
Panel2.WindowProc := NewProc;
end;

procedure TForm1.NewProc(var Msg: TMessage);
begin
case Msg.Msg of
CM_MOUSELEAVE:
begin
Panel2.Font.Color:=clNavy;//Вот здесь твои изменеия
Panel2.Font.Style:=[];
end;
CM_MOUSEENTER:
begin
Panel2.Font.Color:=clBlue;//Вот здесь твои изменеия
Panel2.Font.Style:=[fsBold,fsUnderline];
end;
end;
Old(Msg);
end;



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.017 c
3-84002
AlexBut
2003-05-29 06:39
2003.06.26
Код ошибки Jet


3-84006
abc
2003-05-30 16:05
2003.06.26
как вернуть TQuery в нормальный режим, после режима Edit??


14-84565
Мыш
2003-06-07 18:24
2003.06.26
Посоветуйте хороший фотоальбом


1-84349
sergey2
2003-06-16 13:43
2003.06.26
Есть ли такая функция ?


1-84359
SkySlider
2003-06-16 16:15
2003.06.26
Dll Forms In Delphi




   Наверх