![]() |
|
|
![]()
|
|
| Hrundel |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 5.8.2012 Репутация: нет Всего: нет |
Всем привет.
Есть ли возможность выключить 3D рамку для CView и клиентской области? Если не выключить, то, хотя бы, превратить в сплошную тонкую линию. ![]() В литературе ответа нет. И даже в нете тоже нет. Подозреваю, что нужно просто в Creat какой-то стиль добавить, (уже много перепробовал) но пока не получается. Всем спасибо. Это сообщение отредактировал(а) Hrundel - 30.8.2012, 10:19 |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Обрати внимание на вот какой код (MFC)
Т.е. простой BORDER MFC заменяет на CLIENTEDGE. Так что для начала нужно убрать BORDER при создании. Но может и не помочь: там есть код, который уже фрейму принудительно приписывает CLIENTEDGE, а потом его убирает, если он есть у вида. Где-то в районе CFrameWnd. Так что нужно найти правильное место, чтобы все это дело отшибить. Возможно, OnCreate - после того, как MFC все свои манипуляции выполнит. Только при отшибании стиля не забудь передать флаг SWP_FRAMECHANGED. Ну и Спай тебе поможет посмотреть, у кого какой стиль, т.к. рамка может быть как у фрейма, так и у вида. -------------------- ... |
|||
|
||||
| Hrundel |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 5.8.2012 Репутация: нет Всего: нет |
О великая гуру, Earnest, позволь преклонить колени в благодарности и глубоком респекте к твоим познаниям.
Короче, написал так:
и получил вот это: ![]() Красиво!!! Earnest, не устаю тебя благодарить! |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
В параметрах ф-и Create Добавлять флаг SWP_FRAMECHANGED не надо, это даже опасно - вдруг он с каким-то битом совпадет, а это не стиль. Я имела в виду, что в C...View::OnCreate после вызова базового метода проверить флаги, а потом отшибить ненужные через ModifyStyle или ModifyStyleEx, вот туда и нужно FRAMECHANGED последним параметром, иначе рамка не пересчитается. А если тебе хватило Create с нужными стилями + PreCreate, то и слава богу, убери нафиг SWP_FRAMECHANGED. -------------------- ... |
|||
|
||||
| Hrundel |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 5.8.2012 Репутация: нет Всего: нет |
Ага, уяснил. Еще раз - спасибо.
Это сообщение отредактировал(а) Hrundel - 30.8.2012, 20:41 |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |