델파이 마우스 위치의 컨트롤
// 마우스 포인터 위치의 콘트롤(콤포넌트)의 이름을 폼의 Caption에
// 출력하는 예로 아래의 Label1, Edit1, Memo1, Button1 등은 임의로
// 올려놓으시고 테스트 해보세요
// Panel 안에 있는 콘트롤도 구분할 수 있습니다
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Edit1: TEdit;
Memo1: TMemo;
Button1: TButton;
private
{ Private declarations }
procedure WndProc(var Message: TMessage); override;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.WndProc(var Message: TMessage);
var
cmpFind: TComponent;
pntXY: TPoint;
begin
if Message.Msg = CM_MOUSEENTER then
begin
GetCursorPos(pntXY);
// FindVCLWindow() 를 사용하면 TWinControl 계열 콘트롤만 알 수 있습니다
cmpFind := FindDragTarget(pntXY, true);
if cmpFind <> nil then
Self.Caption := cmpFind.Name;
end;
inherited WndProc(Message);
end;
end.
'Delphi Tip > 하드웨어' 카테고리의 다른 글
델파이 동작 없을 시 자동 로그아웃 (0) | 2021.08.23 |
---|---|
델파이 USB 인식 (0) | 2021.08.18 |
델파이 마우스 아래의 윈도우 핸들 구하기 (0) | 2021.08.15 |
델파이 하드디스크 시리얼 알아내기 (0) | 2021.08.13 |
델파이 모니터 전원 컨트롤 (0) | 2021.08.12 |
댓글