我想在rect中绘制两行文字,上半部分绘制一行,下半部分再绘制一行.
但是只能显示第二行文字,第一行字没有显示出来.
而我拖动滚动条后,使得该区域重新可见时,两行文字才会都显示出来.
怎么会出现这样的问题?dc.SetBkMode(TRANSPARENT);
CRect rc(rect);
rc.bottom=rect.bottom/2;
dc.DrawText(first,rc,DT_LEFT);//绘制第一行文字
rc.top=rc.top+rect.Height()/2;
rc.bottom=rect.bottom;
dc.DrawText(second,rc,DT_LEFT);//绘制第二行文字

解决方案 »

  1.   

    你做完第二行时候,UpdateData(FALSE)
      

  2.   

    UpdateData(FALSE)和Invalidate(FALSE)无论我放到哪里都不行
      

  3.   


    我胡乱加了个DT_NOCLIP属性就解决了
    dc.SetBkMode(TRANSPARENT);
    CRect rc(rect);
    rc.bottom=rect.bottom/2;
    dc.DrawText(first,rc,DT_LEFT|DT_NOCLIP);//绘制第一行文字
    rc.top=rc.top+rect.Height()/2;
    rc.bottom=rect.bottom;
    dc.DrawText(second,rc,DT_LEFT|DT_NOCLIP);//绘制第二行文字我也弄不明白为何就能解决?