Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.022 c
6-84495
DmitryR
2003-04-19 15:34
2003.06.26
Как послать почту через делфи через прокси или socks4/5


1-84129
Maxim Pshevlotsky
2003-06-11 07:39
2003.06.26
Как узнать каталог Windows?


1-84229
Ghost
2003-06-13 08:48
2003.06.26
Функция для удаления из Listbox2 строк которые есть в Listbox1


14-84697
Style
2003-06-05 10:50
2003.06.26
Тут мне друг пару стишков прислал


7-84794
Демонов Е.В.
2003-04-18 09:15
2003.06.26
Дата Соэдания каталога





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский