Вниз
Скачать: CL | DM;

Change cursor   Найти похожие ветки 

 
Gadfly   (2002-11-03 14:09) [0]

Проблема, вроде бы, мелкая, но не могу побороть. Итак, запускается длительный процесс (работа с БД). При этом курсор меняет свое значение с crDefault на crSQLWait, что вполне естественно. На форме есть кнопка AbortButton (TSpeedButton), при нажатии на которую процесс должен прерваться. Хотелось бы, чтобы во время выполнения процесса при наведении курсора на AbortButton этот курсор менялся с crSQLWait на crArrow, а как только курсор покинет пределы кнопки, чтобы он снова стал равным crSQLWait. Как я ни старался, но пока процесс не завершится или не прервется, форма курсора неизменно остается в виде песочных часов. На событие AbortButton.MouseMove я вешал код
Application.ProcessMessages;
Screen.Cursor (или AbortButton.Cursor) := crArrow;
Это не произвело никакого эффекта, хотя при трассировке программа заходит в эту процедуру, и значение курсора устанавливает то, которое мне нужно. Однако визуально ничего не меняется (хотя кнопка нажимается и AbortButton.Click работает). Где кривизна рук?


 
Юрий Зотов ©   (2002-11-03 16:26) [1]

Попробуйте выставить AbortButton.Cursor в design-time или попробуйте после AbortButton.Cursor := crArrow вызвать Application.ProcessMessages.

Если ни то, ни другое не поможет, уточните - кнопка реагирует на клик мгновенно или с задержкой?


 
McSimm ©   (2002-11-03 16:31) [2]

Как вариант решения проблемы - задавать crSQLWait не для Screen, а для формы (и всех контролов на ней, если возможно). Тогда можно будет задать свой курсор для AbortButton.



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.014 c
14-46047
Beginner-Designer
2002-10-24 16:19
2002.11.14
Отличия C++/Builder C++/Visual C++/C/Turbo C


1-45880
NeyroSpace
2002-11-05 14:00
2002.11.14
Как узнать какой компонент породил Exception?


14-46063
Фантом
2002-10-24 19:09
2002.11.14
Подскажите


14-46132
AL2002
2002-10-24 19:17
2002.11.14
100%-ый плагиат?


1-45879
TuZ
2002-11-04 21:21
2002.11.14
Как создать замену рабочему столу?




   Наверх