Определить когда мышь над компонентом, а когда она ушла с него
Для того, чтобы определить когда мышь над компонентом, в данном примере это будет панель, мы создадим новый класс, который будет являться потомком класса TPanel, и будет обрабатывать некоторые необходимые нам для данной задачи сообщения Windows.
Называться наш новый класс будет TMyPanel. Определить его можете до определение класса формы, т.е. сразу после директивы uses.
После объявления экземпляра формы нужно объявить экземпляр нашего нового класса:
var
Form1: TForm1;
MyPanel1: TMyPanel;
В разделе implemetation обрабатываем несколько сообщения, именно этими обработчиками наш класс и будет отличаться от класса стандартной панели.
procedure TMyPanel.CMMouseEnter (varmessage: TMessage);
begin
Form1.Label1.Caption:="Мышь на панели";
end;
procedure TMyPanel.CMMouseLEAVE (varmessage: TMessage);
begin
Form1.Label1.Caption:="Мышь вне панели";
end;
По созданию окна создаём экземпляр нашего класса:
procedure TForm1.FormCreate(Sender: TObject);
begin
MyPanel1 := TMyPanel.Create(self);
with MyPanel1 dobegin
Parent := Form1;
Visible := True;
Left := 100;
Top := 100;
end;
end;
По уничтожению окна, соответственно, - уничтожаем:
procedure TForm1.FormDestroy(Sender: TObject);
begin
MyPanel1.Destroy;
end;
Если Вас заинтересовала или понравилась информация по разработке на Delph - "Определить когда мышь над компонентом, а когда она ушла с него", Вы можете поставить закладку в социальной сети или в своём блоге на данную страницу: Так же Вы можете задать вопрос по работе этого модуля или примера через форму обратной связи, в сообщение обязательно указывайте название или ссылку на статью!