Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2005.11.06;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.053 c
1-1129210536
devmaster
2005-10-13 17:35
2005.11.06
MDi Form + DLL(MDI Child) ?


1-1129546319
integery
2005-10-17 14:51
2005.11.06
как узнать чем запущен ActiveX cscript.exe или wscript.exe


14-1129701752
Rentgen
2005-10-19 10:02
2005.11.06
удаленно(COM1-RS232) запустить программу


3-1127469418
WG
2005-09-23 13:56
2005.11.06
Можно ли запретить DBGrid создавать запись ?


6-1121752656
pupapum
2005-07-19 09:57
2005.11.06
Передача файлов по локальной сети





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский