Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.55 MB
Время: 0.03 c
3-39164
Наташа
2003-02-20 14:28
2003.03.13
Компиляция


7-39593
AuX
2002-12-18 21:59
2003.03.13
Смена IP сетевухи в винь без перезагруза машины.


3-39163
alkmas
2003-02-19 15:03
2003.03.13
Внедрение компонента в другой компонент


1-39267
Programmer1
2003-02-28 11:27
2003.03.13
Первая открывающаяся флрма обязана быть главной?


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





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский