![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как узнать какая структура находится под крысой: ListBox, Edit, Button и т.д. [D5, Win95/98, Win2k]
Renard © (2002-01-15 23:15:00)Сабж. Если не трудно приведите пример плз.
Renard (2002-01-16 04:08:00) [1]Спасибо
Dimaond Cat (2002-01-16 00:16:00) [2]Пример приведенный ниже будет работать только на твоей форме, если надо сделать рабочесть по всем окнам, то можно сделать проверку по таймеру (но это не красиво) либо через общий перехват сообщений.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Memo1: TMemo;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
procedure mymes(var mes:Tagmsg;var Handled:boolean);
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure Tform1.mymes(var mes:Tagmsg;var Handled:boolean);
var
c:Array [0..max_path] of char;
begin
if mes.message=wm_mousemove then
begin
getclassname(windowfrompoint(mes.pt),c,sizeof(c));
form1.Caption:=c;
end;
inherited;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
application.OnMessage:=mymes;
end;
end.