Поиск:

Ответ в темуСоздание новой темы Создание опроса
> CSplitterWnd, CCustomTabCtrl.Совместный юз, MFC SDI Application 
:(
    Опции темы
DukeCpp
Дата 8.11.2007, 22:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 27.2.2006
Где: St.Petersburg

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



Уважаемые Винградовцы!

Помогите сориентироваться в MFC и решить сабж.

Есть MFC SDI приложение, в котором надо сделать табы. Если у нас простой View, то проблем нет: делаем, как описано в статье Андрея Марковски  http://www.codeproject.com/tabctrl/AMCustomTabCtrlDemo.asp

А вот если в приложение используется CSplitterWnd, то для меня ситуация значительно усложняется. Нужно сделать так, чтобы на каждом табе был свой сплиттер со своими видами, наследниками CView.

Т.к. подобное использование окон (табов и разделителей) альтернативно для MFC -- либо одно, либо другое, потому что они оба наследуются от CWnd и хотят в процедурах Create наследников CView. 
Нужно 
Код

int ndx = m_wndTab.InsertItem(m_wndTab.GetItemCount(),sLabel,(DWORD)pView);



Нельзя, например

Код

int ndx = m_wndTab.InsertItem(m_wndTab.GetItemCount(),sLabel,&m_wndSplitter);


это даже скомпилится, но работать не будет. Ошибки рантайма.

Если пробовать их смешать, то получится абракадабра -- окно будет себя вести и так и так: одно поведение поверх  другого.

Есть мысль, что можно из SDI сделать MDI приложение и у ChildFrm указать полем сплиттер. В примере http://www.firststeps.ru/mfc/steps/r.php?101 переводится SDI приложение, созданное на основе CDialog. Если приложение создано на основе CSCrollView или CHtmlView, то при тех же операциях перевода в результате получаем ошибку в objcore.cpp (assertion в функции IsKindOf). Да и вообще переводить приложение из SDI в MDI не очень хотелось бы.

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


 




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


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

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