Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.11.06;
Скачать: CL | DM;

Вниз

Курсор   Найти похожие ветки 

 
SnakeAK ©   (2005-10-13 09:27) [0]

Как на компонент установить нестандартный курсор?


 
X9 ©   (2005-10-14 07:13) [1]

Если в компоненте нет событий OnMouseEnter и OnMouseLeave, то их нужно дописать, создав потомка от нужного Вам компонента, который будет обрабатывать сообщения CM_MOUSEENTER и CM_MOUSELEAVE (могу ошибаться в идентификаторах сообщений). У TLabel, например, есть вышеуказанные события, в обработчике события Label1.OnMouseEnter нужно прописать смену курсора на нужный Вам, а на OnMouseLeave - возвращение исходного.

Вот пример доработанного компонента TImage (код взят из DelphiWorld - http://delphiworld.narod.ru ):

-----------------------------
unit ImageEx;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls;

type
  TImageEx = class (TImage)
  private
    { Private declarations }
    FOnMouseLeave: TNotifyEvent;
    FOnMouseEnter: TNotifyEvent;
    procedure CMMouseEnter(var msg: TMessage);
      message CM_MOUSEENTER;
    procedure CMMouseLeave(var msg: TMessage);
      message CM_MOUSELEAVE;
  protected
    { Protected declarations }
    procedure DoMouseEnter; dynamic;
    procedure DoMouseLeave; dynamic;
  public
    { Public declarations }
  published
    { Published declarations }
    property OnMouseEnter: TNotifyEvent read FOnMouseEnter write FOnMouseEnter;
    property OnMouseLeave: TNotifyEvent read FOnMouseLeave write FOnMouseLeave;
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents("Additional", [TImageEx]);
end;

{ TImageEx }

procedure TImageEx.CMMouseEnter(var msg: TMessage);
begin
  DoMouseEnter;
end;

procedure TImageEx.CMMouseLeave(var msg: TMessage);
begin
  DoMouseLeave;
end;

procedure TImageEx.DoMouseEnter;
begin
  if Assigned(FOnMouseEnter) then FOnMouseEnter(Self);
end;

procedure TImageEx.DoMouseLeave;
begin
  if Assigned(FOnMouseLeave) then FOnMouseLeave(Self);
end;

end.
---------------------

Удачи!


 
Del_programmer ©   (2005-10-14 09:47) [2]

properties->cursor


 
X9 ©   (2005-10-14 19:21) [3]


> Del_programmer ©   (14.10.05 09:47) [2]
>
> properties->cursor

Да, я влёгкую погорячился :)



Страницы: 1 вся ветка

Текущий архив: 2005.11.06;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.043 c
11-1110375631
hotes
2005-03-09 16:40
2005.11.06
событие OnCreate формы


1-1129724857
Толян
2005-10-19 16:27
2005.11.06
поиск файла


14-1129555268
oldman
2005-10-17 17:21
2005.11.06
Нужен "сквозной почтовый сервер" :(


2-1129269846
Fynjy1984
2005-10-14 10:04
2005.11.06
Секундомер


6-1122384608
Almaz
2005-07-26 17:30
2005.11.06
Синхронизация доступа к сокету