Главная страница
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.03 c
3-1127459903
Леди
2005-09-23 11:18
2005.11.06
Что за ошибка? Command contains unrecognized phrase/keyword.


1-1128931719
TButton
2005-10-10 12:08
2005.11.06
Drawing (вопрос общего характера)


11-1110074904
серый мЫш
2005-03-06 05:08
2005.11.06
TKOLMainMenu


1-1129113849
Mishenka
2005-10-12 14:44
2005.11.06
Как в ListView с CheckBox отловить событие установки галки?


14-1129220591
Loginov Dmitry
2005-10-13 20:23
2005.11.06
А Delphi все-же лучше?