Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Win API


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / WinAPI

Выпуск № 54
от 07.04.2005, 17:10

Администратор:Калашников О.А.
В номере:Вопросов: 1, Ответов: 3


Вопрос № 19114: Здраствуйте. Как можно изменить фон Edit на рисунок? По умолчанию фон Edit'а белый (понятно как сделать его другим цветом), а хочется чтобы там(на фоне) был рисунок....

Вопрос № 19114
Здраствуйте.
Как можно изменить фон Edit на рисунок?
По умолчанию фон Edit'а белый (понятно как сделать его другим цветом), а хочется чтобы там(на фоне) был рисунок.
Отправлен: 02.04.2005, 14:01
Вопрос задал: Алексей С. (статус: Посетитель)
Всего ответов отправлено: 3

Отвечает: Gregory
Здравствуйте, Алексей С.!
Например, можно создать обработчик сообщения WM_CTLCOLOR, в котором прописать след. код:
if(nCtlColor == CTLCOLOR_EDIT)
{
return mybrush; // кисть с рисунком (где, например, mybrush = CreatePatternBrush(рис.);)
}
Ответ отправил: Gregory (статус: 1-ый класс)
Отправлен: 03.04.2005, 01:36

Отвечает: dentist
Здравствуйте, Алексей С.!
первое, что приходит в голову, это поставить хук и отловить WM_PAINT
Ответ отправил: dentist (статус: 1-ый класс)
Отправлен: 03.04.2005, 11:06

Отвечает: Raptor1
Здравствуйте, Алексей С.!
1. В h файле добавить объявление кисти для вашего editbox
HBRUSH m_brBg;
2. В обработчике WM_CREATE создать нужный HBRUSH, например так
HBITMAP bm;
bm=::LoadBitmap(hinst,MAKEINTRESOURCE(IDB_BITMAP1));
m_brBg=CreatePatternBrush(bm);
DeleteObject(bm);
3. В обработчике события WM_CTLCOLOREDIT вашего приложения вернуть этот HBRUSH предварительно установив прозрачный режим вывода текста
SetBkMode((HDC)wParam,TRANSPARENT);
return m_brBg;
4. Ну и в заключение не забыть удалить HBRUSH при завершении работы приложения (WM_DESTROY)
DeleteObject(m_brBg)
Ответ отправил: Raptor1 (статус: 2-ой класс)
Отправлен: 03.04.2005, 19:33
Оценка за ответ: 5
Комментарий оценки:
Спасибо, всё заработало.


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2005, RusFAQ.ru, Россия, Москва. Все права защищены.
Идея, дизайн, программирование, авторское право: Калашников О.А.


http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.prog.winapifaq
Отписаться

В избранное