Mega Code Archive

 
Categories / Delphi / Hardware
 

How To Create An MouseEnter MouseLeave Event Using Winproc

Title: How To Create An MouseEnter / MouseLeave Event Using Winproc. Question: This app shows how to create an MouseEnter and a MouseLeave - Event using Winproc to handle the CM_MouseEnter / CM_MouseLeave messages. This particular example shows how to create an URL-link. Answer: unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TURLLabel = class(TLabel) procedure WndProc(var Message : TMessage); override; end; type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} { TURLLabel } procedure TURLLabel.WndProc(var Message: TMessage); begin if (Message.Msg = CM_MOUSELEAVE) then begin Font.Color := clWindowText; Font.Style := Font.Style - [fsUnderline]; end; if (Message.Msg = CM_MOUSEENTER) then begin Font.Color := clBlue; Font.Style := Font.Style + [fsUnderline]; end; inherited WndProc(Message); end; procedure TForm1.FormCreate(Sender: TObject); begin with TURLLabel.Create(Self) do begin Parent := Self; Left := 10; Top := 10; caption := 'www.delphi3000.com'; Cursor := crHandPoint; end; end; end.