![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
перерисовка заголовка [D6, Win95/98]
Eugene_Jek_Efimochkin © (2002-08-18 00:43:00)Hail! Мастера, будьте любезны, помогите с сабжем.
Часть уже сделал: перекрыл WM_NCPAINT. НО! кнопки минимайз-максимайз-закрытие при пролете мыши все равно перерисовываются по-виндовски, на синем прямоугольничке (это, кстати, не тулбар случайно?).
Я так полагаю, нужно перекрывать WM_NCHITTEST, открывая inherited только если координаты не в прямоугольнике системных кнопок.
Только умоляю не отсылать меня на поиск: честное персидское, 2 (два) дня подряд искал, ниче полезного.
Да, ещё, может я зря корячусь... Кто-нить знает пример перерисовки заголовка (и рамки, но это проще) формы в Win98 под WinXP (я щас моделирую Silver) ??
Юрий Зотов (2002-08-18 22:26:00) [1]Система отрисовывает заголовок окна вызовом DrawCaption. Кнопки в область заголовка не входят, они рисуются отдельно, вызовом DrawFrameControl. Если выставить bsNone, то по NCPAINT можно самому вызывать эти функции и рисовать что угодно. Но при bsNone придется, конечно, самому эмулировать SYSCOMMAND.
Poirot (2002-08-18 08:21:00) [2]Господа!!!
Все компоненты, которые рисовани Каптион, и которые я изучал - не рисовали кнопки...
Единственное что можно предложить это самому на bsNone что-торисовать...
Сообщения знаем, Размеры каптиона с бордерами знаем, размер кнопок - знаем, рисунки кнопок в нажатом/отжатом виде тоже можем получить... что-ж нам мешает!!
ЗЫ: Клиентскую область тоже помоему можем изменить... ну вот и всё!!!!
MJH (2002-08-18 01:22:00) [3]у меня нефига не перерисовываются минимайзы...
может это от того, что перекрываю wm_ncКРЫСА_КЛИКИ ?
а рамку - GetSystemInfo() с соответсвующими флагами, выщитываешь прямоугольник, и StretchBlt() в него