VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 688|回复: 4

显示键盘输入的内容

[复制链接]
53_avatar_middle
最佳答案
0 
在线会员 发表于 2017-9-4 22:05:38 | 显示全部楼层 |阅读模式
3驿站币
void CHelloView::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
{
        // TODO: Add your message handler code here and/or call default
        CDC *pDC=GetDC();
    pDC->TextOut(10,90,nChar);

        CView::OnChar(nChar, nRepCnt, nFlags);
}

只能输入一个字符,输入第二个字符的时候前一个会被清掉,那怎么才能连续输入字符呢,求教。

最佳答案

查看完整内容

定义一个 CString 类型的对象: CString strText 作为 CHelloView 类的成员变量,之后在 CHelloView::OnChar 函数中进行累加处理: strText.AppendFormat("%c", nChar); 之后调用 pDC->TextOut(10,90,strText); 输出字符串内容就可以了




上一篇:老师的一道很简单的题让我无所适从
下一篇:下载的资料打不开
51_avatar_middle
最佳答案
8 
online_admins 发表于 2017-9-4 22:05:39 | 显示全部楼层
不卑不亢 发表于 2017-9-4 22:23
CString b;
    b.Format("%c",nChar);
然后就不知道怎么加了,我想输入一个字符,添加到字符串去,然 ...

定义一个 CString 类型的对象:
CString strText 作为 CHelloView 类的成员变量,之后在  CHelloView::OnChar 函数中进行累加处理:
strText.AppendFormat("%c", nChar);
之后调用 pDC->TextOut(10,90,strText); 输出字符串内容就可以了
51_avatar_middle
最佳答案
8 
online_admins 发表于 2017-9-4 22:09:12 | 显示全部楼层
你的这句:pDC->TextOut(10,90,nChar); 一直是在同一个位置输出一个字符,肯定后面的会把之前的覆盖了。
试试把之前的输入也给记录下来放到一个 CString 中,之后一起输出出来就可以了
53_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2017-9-4 22:23:20 | 显示全部楼层
Syc 发表于 2017-9-4 22:09
你的这句:pDC->TextOut(10,90,nChar); 一直是在同一个位置输出一个字符,肯定后面的会把之前的覆盖了。
...

CString b;
    b.Format("%c",nChar);
然后就不知道怎么加了,我想输入一个字符,添加到字符串去,然后输入另一个字符,又添加到字符串去,不知道怎么做
53_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2017-9-5 07:59:26 | 显示全部楼层
Syc 发表于 2017-9-4 22:43
定义一个 CString 类型的对象:
CString strText 作为 CHelloView 类的成员变量,之后在  CHelloView::O ...

谢谢,刚刚学习vc++,不过好像并没有strText.AppendFormat("%c", nChar);这个成员函数,是自己定义的吗?
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2019-11-14 20:31

Powered by Discuz! X3.4

© 2009-2019 cctry.com

快速回复 返回顶部 返回列表