мне нужно реализовать функциональность EM_SETCUEBANNER, где появляется текст намек внутри элемента управления Edit:Win32: Как настроить нарисовать элемент управления Edit?
Улов является то, что я не могу использовать версии 6 Common Controls, которая является то, что требуется получить предоставленную Microsoft реализацию бинарного баннера.
Я посмотрел в просто изменяя текст управления редактирования, и формат шрифта для
Dark Gray Italic Text
но он будет бросать Изменить события (component wrapper provided by higher component library), что я не могу найти способ избежать.
Так что я вместо этого собирался настраивать текст, рисуя текст Cue Banner, когда элемент управления не сфокусирован и пуст, и в противном случае полагайтесь на по умолчанию.
Элемент управления Edit красиво не выставляет пользовательский механизм рисования, like ListView, TreeView and others provide.
Other people have looked into it, но это, кажется, почти невыполнимая задача:
От того, как все выглядит, я должен обрабатывать следующие сообщения:
- WM_ERASEBKGND, WM_PAINT (по понятным причинам)
- WM_SETFOCUS, WM_KILLFOCUS (для предотвращения белая полоса от показа - описанный выше)
- WM_CHAR (обрабатывать и обновлять текст в элементе управления)
И я также нужно найти способ отображения каретку в контроль, , так как я не нашел способ разрешить Windows, чтобы сделать это для меня без , рисуя белую панель, о которой я упоминал.
Это будет весело. : rolleyes:
Учитывая, что элемент управления Windows Edit никогда не предназначался для пользовательского рисования: кто-нибудь знает, как настроить пользовательское рисование элемента управления Windows Edit?
Примечание: я также буду принимать ответы, которые решают мою проблему, а не отвечая на мой вопрос. Но любой, кто хочет настроить элемент управления Edit, сталкиваясь с этим вопросом, скорее всего, ответит.
Вы можете просто подделать его, как я сделал, с помощью окна быстрого поиска в Aero.Controls http://bitbucket.org/factormystic/aero.controls –
Я уже пробовал свой подход. Мне было любопытно, как вы решили проблему рисования тематики «SearchBox». Но я вижу, что вы не решили проблему. –
6 лет спустя, я говорю только CreateWindow с некоторым текстом по умолчанию. Когда пользователь нажимает на элемент управления, вы удаляете текст. Вы также можете установить шрифт курсивом, как в примере, и изменить его при щелчке. – kundrata