Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.03.13;
Скачать: CL | DM;

Вниз

OnMouseEnter, OnMouseLeave   Найти похожие ветки 

 
Дмитрий Минеев   (2003-03-02 14:52) [0]

Как организовать эти штуки. Если через cm_mouseleave и cm_mouseleave, то как это сделать для конкретной компоненты, например для Button?
Есть идея использовать такой код:

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure CMMouseEnter(var Msg: TMessage); message CM_MOUSEENTER;
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

{ TForm1 }

procedure Button1.CMMouseEnter(var Msg: TMessage);
begin
If (TObject(Msg.LParam) is TButton) Then
if TObject(Msg.LParam) = button1 then
ShowMessage (IntToStr(Button1.Handle) + " "+
IntToStr(Button1.Parent.Handle));
end;


end.

но мне кажется, что это нерациональное использование процессорного времени, а хотелось бы...


 
Мда..   (2003-03-02 20:11) [1]

Твой код работать не будет, и знаш почему?

> unit Unit1;
>
> procedure Button1.CMMouseEnter(var Msg: TMessage);


Что за фигня? Юнит надо называть Main. Это нерациональное использование твоего личного времени.

А вот этот код работать будет:

unit Main;

interface

uses
Windows, Messages, SysUtils, Forms, StdCtrls, Classes, Controls;

type
TMainForm = class(TForm)
Button1: TButton;
procedure FormCreate(Sender: TObject);
private
OldProc: TWndMethod;
procedure NewProc(var Msg: TMessage);
public
{ Public declarations }
end;

var
MainForm: TMainForm;

implementation

{$R *.dfm}

{ TMainForm }

procedure TMainForm.NewProc(var Msg: TMessage);
begin
case Msg.Msg of
CM_MOUSEENTER: Button1.Caption := "Enter";
CM_MOUSELEAVE: Button1.Caption := "Exit";
end;
OldProc(Msg);
end;

procedure TMainForm.FormCreate(Sender: TObject);
begin
OldProc := Button1.WindowProc;
Button1.WindowProc := NewProc;
end;

утв.



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

Текущий архив: 2003.03.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.016 c
1-39330
aade
2003-02-28 22:23
2003.03.13
Обработка ошибки!!!!


14-39502
Delirium^.Tremens
2003-02-21 14:20
2003.03.13
Москалики в ...


1-39375
Barlok
2003-03-02 19:15
2003.03.13
Вопрос мне надо в Edit ввести строку и вывести через Listbox ?


3-39217
Delphinium
2003-02-22 12:47
2003.03.13
Пароль в Access


1-39332
Andy BitOff
2003-02-28 22:33
2003.03.13
Почему не Drag n Drop пится