delphi 響應滑鼠進入控制元件訊息
阿新 • • 發佈:2018-11-19
procedure MSGEnter(var msg:TMessage);message CM_MOUSEENTER;//響應進入的訊息
procedure MSGLeave(var msg: TMessage);message CM_MOUSELEAVE;//響應離開的訊息
procedure Button1Click(Sender: TObject); procedure tbStatusToolBarMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure FormCreate(Sender: TObject); procedure TBXItem1Click(Sender: TObject); procedure Button2MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Panel1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); private function GetEditText: string; procedure MSGEnter(var msg:TMessage);message CM_MOUSEENTER;//響應進入的訊息 procedure MSGLeave(var msg: TMessage);message CM_MOUSELEAVE;//響應離開的訊息 { Private declarations } public { Public declarations } end; procedure TForm2.MSGEnter(var msg: TMessage); var myobj : TObject; begin // myobj := TObject(msg.LParam);//用LParam進行判斷滑鼠進入了哪個控制元件 // if (myobj <> nil) and (myobj is TPanel) then // TPanel(myobj).Caption := 'enter'; end; procedure TForm2.MSGLeave(var msg: TMessage); var myobj : TObject; begin myobj := TObject(msg.LParam); // if (myobj <> nil) and (myobj is TPanel) then // begin // TPanel(myobj).Visible := False; // Button2.Tag := 0; // end; //TPanel(myobj).Caption := 'leave'; end;