Re[3]: SDI & input text?
От: febus Германия  
Дата: 18.10.06 08:40
Оценка:
Здравствуйте, Аноним,
OnDraw тебе соверщенно тут не нужен- убери его, если не собираещься рисовать кроме текста чего нибудь необычного.
Все необходимое для вывода простого текста CEditView (точнее лежащий в его основе CEdit) умеет делать сам.


void CmylabView::OnDialog1()
{    
    CFromDlgToWindow t;
    int result=t.DoModal();
    if (t.DoModal() != IDOK)
       return;
    CmylabDoc* pDoc=GetDocument(); 
    ASSERT_VALID(pDoc);
    pDoc->StringData=t.m_text;
    //Invalidate();
    pDoc->UpdateAllViews(NULL); //обновляет содержимое всех видов, вызывает для каждого вида метод OnUpdate
}

void CmylabView::OnUpdate( CView* pSender, LPARAM lHint, CObject* pHint)
{
    CmylabDoc* pDoc=GetDocument();
    ASSERT_VALID(pDoc);
    GetEditCtrl().SetWindowText(pDoc->m_text); //GetEditCtrl() возвращает CEdit 
}



Когда будешь делать обратное действие (ака вид->диалог), то вызывай

GetEditCtrl().GetWindowText(pDoc->m_text); 
COtherDlg dlg;
dlg.m_text = pDoc->StringData;



P.S. Удачной сдачи лабы
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.