| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 622 人关注过本帖
标题:VC++深入详解中代码编译不通过
只看楼主 加入收藏
fxbszj
Rank: 5Rank: 5
来 自:阿修罗界
等 级:职业侠客
威 望:4
帖 子:163
专家分:331
注 册:2012-10-8
结帖率:92.86%
收藏
 问题点数:0 回复次数:1 
VC++深入详解中代码编译不通过
程序代码:
void CTest01View::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags) 
{
    // TODO: Add your message handler code here and/or call default
    CClientDC dc(this);
    TEXTMETRIC tm;
    dc.GetTextMetrics(&tm);

 
    //换行
    if(0x0d==nChar)
    {
        m_strLine.Empty();
        m_ptOrigin.y+=tm.tmHeight;
         
    }
    //退格键
    else if(0x08==nChar)
    {
        COLORREF clr=dc.SetTextColor(dc.GetBkColor());
        dc.TextOut(m_ptOrigin.x,m_ptOrigin.y,m_strLine);
        m_strLine=m_strLine.Left(m_strLine.GetLength()-1);
        dc.SetTextColor(clr);
        //dc.TextOut(m_ptOrigin.x,m_ptOrigin.y,m_strLine);
    }
    else
        m_strLine+=nChar;

 
    //输入时根据内容改变位置
    CSize sz=dc.GetTextExtent(m_strLine);
    CPoint pt;
    pt.x=m_ptOrigin.x+sz.cx;
    pt.y=m_ptOrigin.y;
    SetCaretPos(pt);

 
    dc.TextOut(m_ptOrigin.x,m_ptOrigin.y,m_strLine);
     
    CView::OnChar(nChar, nRepCnt, nFlags);
}


这是<VC++深入详解>第5章关于字符输入显示的一段,m_strLine是CString类型的空串,用来存储输入的字符串。然后m_strLine+=nChar;这段就不能通过,提示“ error C2593: “operator +=”不明确”,一个CString类型,一个UINT类型,强制类型转换也不行。vs2005-2010-2012都不能编译通过,VC6.0倒是能过。但长远看,不可能永远用VC6吧,在VS中要怎么修改呢
2013-09-07 17:27
fxbszj
Rank: 5Rank: 5
来 自:阿修罗界
等 级:职业侠客
威 望:4
帖 子:163
专家分:331
注 册:2012-10-8
收藏
得分:0 
自己解决了,先转char*,再转CString
2013-09-07 17:37
快速回复:VC++深入详解中代码编译不通过
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016886 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved