| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Visual C++/MFC/WTL > StaticText |
| Автор: Rutti 21.12.2004, 14:05 |
| Поместил на PictureControl на Dialog StaticText. Как можно убрать фон у StaticText и изменить цвет букв StaticText? |
| Автор: Coocky 21.12.2004, 22:22 |
| А можно подробнее,зачем ты так делал?И что ты хочешЬ вообще от такого размещения? |
| Автор: Rutti 21.12.2004, 22:44 | ||||
Да что-то типа авторана. Картинка на диалоге, на картинке две кнопки и текст. Вот с текстом и заморочки. Вставил в диалог
HBRUSH CMFCinstDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor); if (pWnd->GetDlgCtrlID()==IDC_TEST) { pDC->SetTextColor(RGB(0,0,255)); pDC->SetBkMode(OPAQUE); pDC->SetBkColor(RGB(128,0,0)); } return hbr; }
|
| Автор: Coocky 21.12.2004, 22:56 |
| Вроде правильно...Под рукой ничего нет,кроме денег за впремя в Инетклубе |
| Автор: DENNN 22.12.2004, 13:36 | ||
Если хочешь, чтоб фон не закрашивал изображение под элементом, переопределяй OnEraseBkgnd. Например так:
Механизм вызвова BOOL OnEraseBkgnd таков: если после вызова переопределенного метода было возвращено TRUE - значит приложение само выполнило перерисовку фона, если FALSE - значит это необходимо сделать ОС |
| Автор: Rutti 28.12.2004, 23:10 |
| DENNN Мой диалог никак не реагирует на твой код. |
| Автор: Coocky 28.12.2004, 23:19 | ||
Ты на мой вопрос ответь,если помощи хочешь.... |
| Автор: alien_by 29.12.2004, 10:29 | ||
Нужно переопределять этот метод не у диалога, а у твоего статика. А ещё можно попробовать режим отрисовки бэкгроунда поменять на pDC->SetBkMode(TRANSPARENT); |
| Автор: Rutti 9.1.2005, 14:07 |
| Coocky Просто хочу на картинке написать текст (назначение бутона). Всего то. На этот вопрос? |
| Автор: chipset 9.1.2005, 14:13 |
| Rutti Субклассь CStatic. Добавлено @ 14:14 Т.е: создаешь класс производный от CStatic, переопределяешь нужные функции рисования (OnPaint или как его, забыл уже) и указываешь в пропертисах контрола как класс ответственный за прорисовку. |
| Автор: Coocky 10.1.2005, 21:57 | ||
Вот именно.Т.е. создавая класс свой,ты расширяешь его возможности,и получается своими обработками сообщений,ты перекрываешь то,что предлагает тебе стандартное МФС.Ну не сделали они отрисовку статика... |