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