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

Вниз

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

 
Jimmy   (2008-08-26 23:37) [0]

Почему процедура
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
Cursor:=crHourGlass;
end;
изменяет курсор мыши только когда наступило MouseUp?
Заранее спасибо.


 
Германн ©   (2008-08-27 01:11) [1]


> Cursor:=crHourGlass;

А если попробовать написать
Screen.Cursor:=crHourGlass;


 
Deltas ©   (2008-08-27 01:22) [2]


> Почему процедура
> procedure TForm1.FormMouseDown(Sender: TObject; Button:
> TMouseButton;
>  Shift: TShiftState; X, Y: Integer);
> begin
> Cursor:=crHourGlass;
> end;

> изменяет курсор мыши только когда наступило MouseUp?

Видимо, какая-то ошибка в текстах модулей Delphi. Обрати внимание, что курсор изменяется после отпускания мыши только для левой кнопки. Для средней и правой он изменяется сразу.

> А если попробовать написать
> Screen.Cursor:=crHourGlass;

Это помогает. Есть еще один вариант, более сложный: переопределить обработчик события WM_LEFTBUTTONDOWN:
unit Unit1;

interface

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

type
 TForm1 = class(TForm)
 private
   procedure OnLeftButtonDown(var Msg: TMsg); message WM_LBUTTONDOWN;
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.OnLeftButtonDown(var Msg: TMsg);
begin
 Cursor := crHourGlass;
end;

end.


 
Германн ©   (2008-08-27 01:28) [3]


> Видимо, какая-то ошибка в текстах модулей Delphi. Обрати
> внимание, что курсор изменяется после отпускания мыши только
> для левой кнопки. Для средней и правой он изменяется сразу.
>
>

Врядли это ошибка. Скорее дело в том, что левая кнопка по стандарту строго задействована только на тех контролах, которые можно "кликнуть" или "нажать". А вот правая (насчет средней ничего не знаю)...


 
Deltas ©   (2008-08-27 01:30) [4]

Кстати, между этими двумя вариантами есть разница. Предположим на форме размещена кнопка TButton. Если использовать Screen.Cursor := crHourGlass, курсор изменится и над формой и над кнопкой. Если использовать выше описанный метод переопределения обработчика, курсор изменится только лишь над формой, над кнопкой он останется прежним.


 
Deltas ©   (2008-08-27 01:31) [5]


> А вот правая (насчет средней ничего не знаю)...

Это колесико мышки. Им тоже можно кликать.


 
Германн ©   (2008-08-27 01:52) [6]


> Deltas ©   (27.08.08 01:31) [5]
>
>
> > А вот правая (насчет средней ничего не знаю)...
>
> Это колесико мышки. Им тоже можно кликать.

Что такое "средняя кнопка мышки" я знаю.


 
ЛшдлуттнСфе   (2008-08-27 05:18) [7]

Колесико - это колесико. Никакого, кроме механического, отношения к средней кнопки не имеет.


 
Jimmy   (2008-08-27 22:16) [8]

Screen.Cursor:=crHourGlass; помогло. Всем спасибо.



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

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

Наверх




Память: 0.48 MB
Время: 0.015 c
15-1218190808
@!!ex
2008-08-08 14:20
2008.10.05
Почему люди тихо пропадают?


15-1219030948
Slider007
2008-08-18 07:42
2008.10.05
С днем рождения ! 17 августа 2008 воскресенье


2-1219594068
TStas
2008-08-24 20:07
2008.10.05
Глюк дельфей в консольном приложении


15-1218172225
Vlad Oshin
2008-08-08 09:10
2008.10.05
Голосовали? За кого? :)


2-1219955393
dars73
2008-08-29 00:29
2008.10.05
Проблема с записью в RichEdit