Blog. Just Blog

Быстрый поиск

Введите фрагмент названия статьи для поиска

Как добавить замещающий текст в поле EDIT

15.03.2021 | Категория: Образ мышления: Assembler | Автор: ManHunter
Продолжаем ставить эксперименты с полем EDIT. Сегодня будем добавлять в поле ввода так называемый "cue banner", что с некоторой натяжкой можно перевести на русский язык как "замещающий текст". Очень полезная штуковина, помогающая пользователю при заполнении форм с неочевидным форматом вводимых данных, а также снимающая с разработчика различные костыльно-велосипедные задачи по кастомной обработке полей ввода. Смотрите сами. По умолчанию в пустом поле ввода располагается замещающий текст. Это может быть пример данных или информация о необходимости заполнения, да вообще что угодно. Когда пользователь переходит на это поле, текст заполнителя исчезает и позволяет вводить свой собственный текст. А если поле ввода теряет фокус, но текст при этом все еще отсутствует, тогда замещающий текст возвращается обратно на свое место. При этом замещающий текст фактически не является содержимым поля, его нельзя получить через WM_GETTEXT или GetWindowText, он никуда не попадет при отправке незаполненной формы.

Для добавления замещающего текста в однострочное поле EDIT используется сообщение EM_SETCUEBANNER. В параметре lParam передается указатель на юникодную строку, которая будет отображаться в качестве замещающего текста. При этом не имеет значения, какую кодировку имеет само приложение, строка должна быть только в юникоде. В параметре wParam передается режим отображения замещающего текста. В старых мануалах вы можете встретить информацию, что этот параметр зарезервирован и там обязательно должен быть ноль. В последней редакции официальной документации написано, если значение нулевое, то подсказка будет пропадать сразу же при установке фокуса на EDIT, а если указано значение 1, то подсказка пропадет только при начале ввода пользовательского текста. И похоже, что из-за этого дополнения на сайте MSDN заявлена поддержка операционной системы как минимум Windows Vista, хотя на деле EM_SETCUEBANNER прекрасно работает, начиная с Windows XP.

Читать статью целиком »
Просмотров: 1167 | Комментариев: 8

Tiny Clock 1.4

09.08.2018 | Категория: Мои программы | Автор: ManHunter

Скриншот программы Tiny Clock

Небольшие часы-будильник на рабочий стол. Написаны для личных нужд на чистом Ассемблере, поэтому имеют такой скромный размер. Правая кнопка мыши - контекстное меню, средняя (колесико) или клавиша Esc - свернуть часы в трей. Часы не требуют установки, все настройки хранятся в папке с программой, никаких следов в системе не остается (кроме записи функции автозапуска в реестр). Настройки программы:

View Calendar - открыть календарик. Используется стандартный системный календарь со всеми его возможностями.

Set alarm - установить будильник. Задается точное время срабатывания, звуковой сигнал, текст сообщения или можно выбрать файл для запуска. Для удобства вы можете быстро выбрать из списка фиксированный интервал от текущего времени. После срабатывания будильника он автоматически отключается. Звуковой сигнал можете заменить на свой, переписав файл alarm.wav

Set reminder - установить периодическое напоминание. В программе предусмотрены два типа напоминаний: определенное количество или до заданного времени. Также напоминание может автоматически активироваться каждый день. При запуске часов после установленного времени напоминания, интервал следующего напоминания рассчитывается автоматически. Звуковой сигнал можете заменить на свой, переписав файл reminder.wav

Читать статью целиком »
Просмотров: 30035 | Комментариев: 152

Возвращаем классические balloon'ы в Windows 10

16.07.2018 | Категория: Software | Автор: ManHunter

Возвращаем классические balloon'ы в Windows 10

Просили статей по Windows 10? Нате, получите. Об ущербности интерфейса Windows 10 можно говорить очень долго и сегодня я расскажу, как можно вернуть привычный вид всплывающих подсказок в системном трее. По умолчанию ballon'ы появляются в виде каких-то плашек, непонятно к какому значку относящихся. К счастью, это можно исправить.

Читать статью целиком »
Просмотров: 3375 | Комментариев: 7

Моноширинные шрифты с кириллицей для программирования

10.12.2015 | Категория: Software | Автор: ManHunter

Моноширинные шрифты с кириллицей для программирования

Если ваша профессия связана с программированием, то вам приходится большое количество времени проводить за монитором. Поэтому, к выбору подходящего шрифта для системы надо подходить не менее тщательно, чем к выбору инструментов программирования. Мои требования к шрифту для работы: моноширинный, наличие кириллицы, визуальное различие между буквой "O" и цифрой "0", ну и, конечно же, не напрягающий глаза при длительной работе в редакторе кода. За все время у меня собралась небольшая коллекция шрифтов для программирования, может быть какой-нибудь вам тоже понравится.

Читать статью целиком »
Просмотров: 48280 | Комментариев: 50

Как поменять обои рабочего стола на Windows 7 Starter

31.01.2014 | Категория: Software | Автор: ManHunter

Как поменять обои рабочего стола на Windows 7 Starter

Вряд ли кто-то добровольно покупает и ставит себе на компьютеры начальную версию Windows 7 Starter. Но часто на новых ноутбуках установлена именно эта версия. Обычно ее сразу же сносят и ставят нормальные пиратские версии Professional или Ultimate, но кто-то может быть не хочет лишаться лицензии, кому-то лень, а кто-то просто не знает как это сделать. Но не суть. Одна из основных проблем использования начальных версий Windows - множественные ограничения пользователя в возможностях настройки системы под свой вкус. Например, в Windows 7 Starter недоступна даже простейшая операция по смене обоев рабочего стола штатными инструментами. Можно, конечно, за деньги обновить систему до более старших версий, где таких ограничений нет, но кто в здравом уме будет платить за софт?

Читать статью целиком »
Просмотров: 165910 | Комментариев: 46

Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2024
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.07 сек. / MySQL: 3 (0.0037 сек.) / Память: 4.5 Mb
Наверх