Кент Рейсдорф. BORLAND C++BUILDER. Раздел 4

Кент Рейсдорф. BORLAND C++BUILDER. Страница 391

Вам может потребоваться изменять курсоры в своих приложениях по многим причинам: для вывода курсора ожидания (песочные часы), специ­альных курсоров в своей графической программе или для реализации спра­вочного курсора.

Теперь рассмотрим два типа курсоров, которые вы можете использовать в своих приложениях.

Загрузка и использование базовых курсоров

Windows предоставляет несколько встроенных курсоров, которые вы мо­жете использовать в своем приложении. VCL добавляет к ним еще несколько курсоров. Вы можете использовать эти базовые курсоры в любой момент.

Одной из наиболее очевидных причин замены курсора является необхо­димость выполнения длительного процесса. Считается плохим стилем не ин­формировать пользователя о том, что программа занята выполнением неко­торой задачи. Именно для таких случаев Windows предоставляет вам курсор песочных часов (Windows называет его курсором ожидания). Предположим, например, что в вашем приложении есть цикл обработки, который мог бы занять длительное время. Тогда вы можете сделать что-нибудь вроде следу­ющего:


Поскольку вы не всегда знаете, какой курсор использует ваше прило­жение в настоящий момент, имеет смысл сохранять текущий курсор перед каждым изменением свойства Cursor. Закончив работу с данным курсором, вы всегда сможете восстановить старый курсор.

Вы можете, конечно, заменить курсор отдельно взятого компонента. На­пример, программа рисования могла бы менять курсор рабочей области в соответствии с текущим инструментом рисования. В этом случае вам не нужно менять курсор для всего объекта Screen, поскольку курсор должен снова принимать вид стрелки при перемещении в оперативную панель, строку состояния или любой другой компонент, находящийся в форме. В этом случае вы должны установить курсор только для того компонента, который пред­ставляет рабочее окно вашего приложения:

Web-дизайн (с) 2010 All rights reserved