Главная страница
    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.44 MB
Время: 0.009 c
14-39559
Bboy
2003-02-19 15:03
2003.03.13
Что такое хостинг второго уровня???


3-39199
Aleksandr
2003-02-21 15:30
2003.03.13
Как при вставке записи заполнить ее идентификатором подчиненных?


1-39249
Tihas
2003-02-26 23:45
2003.03.13
Вопрос оперторов...


1-39320
anbezr
2003-03-04 15:42
2003.03.13
Ответ окна на сообщение.


6-39454
Mutex
2003-01-02 19:09
2003.03.13
Socket





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