Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Splitter для CView, как разделить CView на две части 
V
    Опции темы
Mev
  Дата 25.8.2011, 23:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 28.3.2006
Где: Зеленоград

Репутация: нет
Всего: нет



как разделить CView на две части ?
PM MAIL ICQ   Вверх
Earnest
Дата 26.8.2011, 07:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



Если использовать средства MFC, то никак. Разделить можно фрейм - сплиттером. Т.е. создать во фрейме сплиттер, и уже в нем создавать виды. Читай про CSplitterWnd в MSDN, там написано, какой код куда нужно вставлять.


--------------------
...
PM   Вверх
Mev
  Дата 26.8.2011, 19:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 28.3.2006
Где: Зеленоград

Репутация: нет
Всего: нет



А можно как нибудь фреймы менять во время выполнения программы, с одного на другой?
PM MAIL ICQ   Вверх
Earnest
Дата 29.8.2011, 07:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



Не совсем поняла вопрос. В смысле, переключаться между разделенным фреймом и единым? Да можно, конечно. И по разному это реализовать, смотря что ты хочешь. Если хочешь - нажал кнопку - разделил, еще раз нажал (или отжал) - объединил, тогда придется ручками пописать.
Если использовать мастер для вставки сплиттера во фрейм, то он сгенерирует код, который будет делить окно по команде "Разделить" из меню Windows. Собственно, там просто вызов каких-то функций сплиттера, насколько я помню. Вот оттуда нужно списать код для разделения. А "объединение" - вроде бы просто удалить лишние виды, а может тоже у сплиттера есть команда, точно не помню. В общем, MSDN тебе в помощь.


--------------------
...
PM   Вверх
Mev
Дата 29.8.2011, 10:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 28.3.2006
Где: Зеленоград

Репутация: нет
Всего: нет



Спасибо Вам Earnest за помощь.
Что касается как разделить CView на две части, нашел в интернете готовый класс, где предостовляется такая возможность. Может кому пригодится: Ссылка
PM MAIL ICQ   Вверх
spyswamp
Дата 29.8.2011, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 349
Регистрация: 18.8.2006

Репутация: нет
Всего: 7



Mev, тему помечай решенной, уже ж не маленький мальчик.


--------------------
- why you call it beta?
- cuz it's betta then nothin'
PM MAIL   Вверх
Earnest
Дата 29.8.2011, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



Цитата(Mev @  29.8.2011,  11:58 Найти цитируемый пост)
Что касается как разделить CView на две части, нашел в интернете готовый класс, где предостовляется такая возможность.

Видишь ли, MFC делят не вид, а фрейм не просто так... Внутри панелей сплиттера нужно создать какие-то пользовательские окна, и логично, что это будет вид (последняя так сказать отображающая инстанция MFC). Не создавать же вид в виде... А поделить фрейм - самое оно. Т.е. получается иерархия фрейм - сплиттер - виды. Точно так же имеет смыл использовать и найденный тобою контрол-сплиттер. Там ведь ясно сказано, что он аналогичен MFC-шному, но более удобен (по мнению автора). В этом смысле неважно, какой разделитель используется. Кстати, MFC-сплиттер можно использовать не только в фрейме (после доводки напильником). Но он действительно довольно убог.


--------------------
...
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0495 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.