Вниз
Скачать: 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 вся ветка

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



Память: 0.45 MB
Время: 0.022 c
1-39333
Yozch_
2003-02-28 23:42
2003.03.13
текущая дира


14-39572
Дмитрий К.К.
2003-02-25 06:08
2003.03.13
Именинники 25 февраля


8-39416
Mihon from Haba
2002-11-29 18:25
2003.03.13
Отображение двумерного массива максимально быстро


3-39153
Erny
2003-02-20 15:02
2003.03.13
Базы данных


14-39525
Дмитрий К.К.
2003-02-26 06:22
2003.03.13
Именинники 26 февраля




   Наверх