我把字体和颜色都弄好了 但是出现了这个问题
就是当我输入的时候 我第一次输入是没有错 但是第二次输入的时候我改变字体或颜色 然后以上的字体和颜色都也一起改变了 这是为什么呢 我不想让字体和颜色一起改变 有人能帮忙解决下么?

解决方案 »

  1.   

    void CChatDialog::OnBnClickedButton1()
    {
    CColorDialog ColorDlg(m_textcolor);
    if(ColorDlg.DoModal()==IDOK)
    {
    m_textcolor = ColorDlg.GetColor();
    Invalidate();
    } // TODO: 在此添加控件通知处理程序代码

    }void CChatDialog::OnBnClickedButton2()
    {
    CFont*tempfont =m_writemsg.GetFont();
    LOGFONT logfont;
    tempfont->GetLogFont(&logfont);
    CFontDialog fontdlg(&logfont);
    if(fontdlg.DoModal()==IDOK)
    {
    m_font.Detach();
    LOGFONT temp;
    fontdlg.GetCurrentFont(&temp); 
    m_font.CreateFontIndirectW(&temp);
    m_writemsg.SetFont(&m_font);
    m_showmsg.SetFont(&m_font);
    // TODO: 在此添加控件通知处理程序代码
    }
    }HBRUSH CChatDialog::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
    {
    HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
    pDC->SetTextColor(m_textcolor); // TODO:  在此更改 DC 的任何属性 // TODO:  如果默认的不是所需画笔,则返回另一个画笔
    return hbr;
    }
    代码如下 应该怎样改呢?