Главная страница
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.025 c
9-1119607531
ABS
2005-06-24 14:05
2005.11.06
GLScene


1-1128686575
BFG9k
2005-10-07 16:02
2005.11.06
Как достать фрейм из bpl ?


14-1129225171
spotter
2005-10-13 21:39
2005.11.06
Простенькая задачка на прологе.


2-1129227203
softmaster
2005-10-13 22:13
2005.11.06
Проблема в fiblpus


3-1127815585
Андрей Жук
2005-09-27 14:06
2005.11.06
Шифрование данных в блобе