Сайт для программистов

воскресенье, 7 декабря 2008 г.

Улучшенные элементы управления Windows Vista

Здравствуйте!


Продолжаем изучать новые возможности Windows Vista. Открываем статью из MSDN Magazine за август 2007 года и внимательно ее читаем. Хотя статья написана для программистов C++, нас это не должно останавливать. Я позволю себе скопировать оттуда часть интересующей нас информации. Итак...


Элементы управления редактирования и поля списка
Windows XP представил возможность показывать текстовую подсказку для элементов управления редактированием при помощи сообщения EM_SETCUEBANNER. Эта подсказка показывает пользователю информацию, которая исчезает при выделении элемента управления. Windows Vista добавил к этому весьма ценное свойство, позволяющее показывать текст подсказки даже тогда, когда элемент управления выделен. Это на первый взгляд незначительное улучшение во многих случаях снимает необходимость статических элементов управления. Просто используйте ранее незадействованный WPARAM и установите для него значение «истина», чтобы воспользоваться этим свойством.
Примерно таким же образом Windows Vista придает это свойство и полям списка при помощи сообщения CB_SETCUEBANNER. Не существует, однако, варианта показа текста подсказки, когда элемент управления выделен, и только поля раскрывающегося списка продолжают показывать текст подсказки до тех пор, пока не сделан выбор.



Теперь чуть подробнее о том, что тут написано. Возьмем, к примеру браузер Internet Explorer. В верхнем правом углу мы видим строку поиска (текстовое поле), в котором находится слово-подсказка Google. Как только мы установим фокус на нем, то поле очистится и мы можем вводить запрос. Насколько я помню, в Firefox также реализована эта функция (под рукой нет этого браузера). Так вот, это легко реализуется при помощи соответствующего сообщения Windows.
Аналогично и для комбинированного окна ComboBox. Надо заметить, что в Windows XP, если ComboBox получает фокус, то подсказка исчезает (не могу проверить, т.к. у меня Виста).
В чем преимущество данных подсказок? У вас появляется возможность сэкономить место на форме, не прибегая к Label, так как подсказки позволяют разместить информацию для пользователя.
Я набросал небольшой пример для демонстрации, можете взглянуть на картинку ниже.





По традиции, код и описание новых сообщений Windows будут доступны зарегистрированным пользователям справочника по функциям Windows API. Остальным придется самостоятельно написать программу. Информацию я вам предоставил.
Счастливого вам программирования!

Комментариев нет: