Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.026 c
3-1127233408
Galiaf
2005-09-20 20:23
2005.11.06
Поиск в столбце Name.


1-1129296155
Sysanin
2005-10-14 17:22
2005.11.06
Проигрывание звука из DLL


3-1127518866
TechnoDreamer
2005-09-24 03:41
2005.11.06
Структура базы - подскажите.


9-1119533114
grouzd[E]v
2005-06-23 17:25
2005.11.06
Генератор ландшафтов


14-1129101703
dr Tr0jan
2005-10-12 11:21
2005.11.06
Помогите выбрать монитор LCD на 19"




   Наверх