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

Вниз

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

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

Наверх





Память: 0.46 MB
Время: 0.009 c
15-1218559351
Копир
2008-08-12 20:42
2008.10.05
Басни Эзопа. Ничего не напоминает?


2-1219324252
demon
2008-08-21 17:10
2008.10.05
Файл подкачки


2-1219719263
Strungout
2008-08-26 06:54
2008.10.05
Как "вшить" файл в программу?


15-1218804027
*Pavel
2008-08-15 16:40
2008.10.05
Сеть между PC-DOS и Windows XP через null-modem-ный кабель


15-1218265588
Пробегал2....
2008-08-09 11:06
2008.10.05
Учебные курсы от intuit.ru





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский