我用MFC基于单文档做一个记事本的程序,为什么改变字体后插入符的高度不变,即tm.tmHeight不改变,我要怎么做才能使插入符的高度随字体的改变而改变?(不用CEdit类,不用CEditView)
求高手帮忙!!

解决方案 »

  1.   

    RedrawWindow也无效么?
    那只能重新载入了
      

  2.   

    CreateSolidCaret(tm.tmAveCharWidth/8,tm.tmHeight);//根据字体高度和宽度确定合适的插入符这是我的代码tm.tmHeight是不是一个定值啊?
      

  3.   

    Word里面有时就会有这种Bug,解决办法是修改一下显示比例。
      

  4.   

    改变字体后从求:
    tm.tmHeight
      

  5.   

    你的编辑类是继承自什么类?如果是CWnd,那插入符都要自己处理,改字体,当然要重新创建一个插入符。
      

  6.   

    问题解决了,用的
    GetTextExtentPoint32(pDC->m_hDC,pBuff,strlen(m_strLine),&sz);
    sz.cx=宽度,sz.cy=高度
      

  7.   

    CString m_strLine;
    char *pBuff=m_strLine.GetBuffer(0); //CString转换成char *
    GetTextExtentPoint32(pDC->m_hDC,pBuff,strlen(m_strLine),&sz);