Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Манипуляция объектами класса CSplitterWnd, Манипуляция объектами класса CSplitterWn 
:(
    Опции темы
olegkuzn
Дата 7.2.2008, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Есть такой код :

Код

BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
   CRect rcClient;
   GetClientRect( &rcClient );
   CSize szSplit1View(rcClient.Width()/4   , rcClient.Height());
   CSize szSplit2View(rcClient.Width()/4 * 3, rcClient.Height()/2);

    if(!m_wndSplitter1.CreateStatic(this, 1, 2))
        return FALSE;

    if(!m_wndSplitter2.CreateStatic(&m_wndSplitter1, 2, 1, WS_CHILD | WS_VISIBLE, m_wndSplitter1.IdFromRowCol(0,1)))
        return FALSE;

    if(!m_wndSplitter1.CreateView(0, 0, RUNTIME_CLASS(CMySplittView), szSplit1View, pContext))
        return FALSE;

    if(!m_wndSplitter2.CreateView(0, 0, RUNTIME_CLASS(CElseView), szSplit2View, pContext))
        return FALSE;

    if(!m_wndSplitter2.CreateView(1, 0, RUNTIME_CLASS(CElseView), szSplit2View, pContext))
        return FALSE;

    m_wndSplitter2.SetActivePane( 1, 0 );

    return TRUE;
}



где создается объект m_wndSplitter1 класса CSptitterWnd для двух столбцов :
в левом вид CMySplittView 
в правом стобце создается объект m_wndSplitter2 класса CSptitterWnd для двух строк
для объектов класса CElseView.

Нужно по команде меню в правом столбце объекта m_wndSplitter1 сделать следущее:
1. объект m_wndSplitter2 и все виды CElseView 
2. прикрепить в правом столбце вид типа  CMySplittView

Написал такой код:

Код

// процедура манипуляции m_wndSplitter2 
// вызывается по команде меню
void CMainFrame::OnViewTwoviews()
{
    m_wndSplitter2.DeleteView( 0, 0 );
    m_wndSplitter2.DeleteView( 1, 0 );
    m_wndSplitter2.DeleteRow( 1 );

    m_wndSplitter1.CreateView(0, 1, RUNTIME_CLASS(CMySplittView), CSize(300, 300), NULL);

    RecalcLayout();
}



Программа вылетает.
Помогите.
PM MAIL   Вверх
Earnest
Дата 8.2.2008, 11:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Где вылетает? По шагам проходил?


--------------------
...
PM   Вверх
olegkuzn
Дата 8.2.2008, 12:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



вылетает при вызове m_wndSplitter2.DeleteView( 1, 0 ); из метода OnViewTwoviews().

PM MAIL   Вверх
Earnest
Дата 8.2.2008, 18:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Зайди внутрь и попробуй определить причину - переменные посмотри, что пишется в Output  - там часто есть полезная информация. Кто за тебя это должен делать?


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


 




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


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

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