Форум: "Основная";
Текущий архив: 2003.06.26;
Скачать: [xml.tar.bz2];
ВнизСобытия для 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 вся ветка
Форум: "Основная";
Текущий архив: 2003.06.26;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.028 c