Как реализовать диалог с фоновым изображением?
От: Сергей Пиманов  
Дата: 04.07.01 20:17
Оценка: 15 (2)
Статья:
Как реализовать диалог с фоновым изображением?
Автор(ы): Сергей Пиманов
Дата: 10.06.2001


Авторы:
Сергей Пиманов

Аннотация:
В немодальном диалоге не работает :)
От: alex2808 Украина  
Дата: 24.04.02 01:43
Оценка:
Проблема в том, что не обрабатывается OnInitDialog.
Что может служить ему заменой?
Всех благ
STATIC поля - не прозрачны :(
От: muma Германия  
Дата: 19.12.01 08:22
Оценка:
Я им стиль WS_EX_TRANS... поставил. Что делать?
Очень нужно.
А начиная с 98 виндовса
От: Nashev http://nashev.livejournal.com
Дата: 05.07.01 20:17
Оценка:
можно любую картинку к кисти подцеплять, а не только 8*8... И кисть будет закрашивать, раскладывая черепицей эту картинку. А если эту кисть подцепить к окну, то оно "само" будет текстурированное безо всяких обработчиков.
Re: А начиная с 98 виндовса
От: Odi$$ey Россия http://malgarr.blogspot.com/
Дата: 24.04.02 17:05
Оценка:
> А если эту кисть подцепить к окну...

а это как — можно поподробнее?
Re: STATIC поля - не прозрачны :(
От: B_A_D Израиль  
Дата: 24.07.03 08:50
Оценка:
Здравствуйте, muma, Вы писали:

M>Я им стиль WS_EX_TRANS... поставил. Что делать?

M>Очень нужно.


Перекрой OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) твоего диалога
и верни в нем нулевую кисть

HBRUSH CMeasureDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{
  HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
  if (CTLCOLOR_STATIC == nCtlColor)
  {
          return (HBRUSH)::GetStockObject(NULL_BRUSH);        
  }    
  return hbr;
}
Re: В немодальном диалоге не работает :)
От: Serguei666 Беларусь  
Дата: 24.07.03 16:19
Оценка:
Здравствуйте, alex2808, Вы писали:

A>Проблема в том, что не обрабатывается OnInitDialog.

A>Что может служить ему заменой?
OnCreate
Хотите сказать 'спасибо'? Тогда поставьте оценку
Re: Как реализовать диалог с фоновым изображением?
От: a-k  
Дата: 20.10.03 18:42
Оценка:
Здравствуйте,

Хочу диалог с фоновым изображением. Причем так, чтобы это изображение было видно сквозь контролы на диалоге (Edit, Static, ListBox, ComboBox etc) как на первой страничке PropertySheet'а в режиме Wizard97. Я создал обработчики сообщений WM_CTLCOLOR* и возвращаю следующие кисти:
самому диалогу — кисть из всего битмепа,
статикам и кнопкам — нулевую,
а другим (которым нужно стирать background) — кисть созданную под-области битмепа, которая лежит под данным контролом.

Проблема в том, что под Win98 Edit контрол рисуется неправильно, т.е. рисунок искажается. Под Win2000 Edit рисуется правильно, но Static, CheckBox, RadioButton контролы рисуются точно так же неправильно как Edit под Win98.

Буду очень благодарен если кто-то сможет помочь.

Спасибо,
Андрей.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.