孙鑫教程第六章实现电话本的问题
来源:互联网 发布:网络播放器多少钱 编辑:程序博客网 时间:2024/05/21 10:01
直接上代码
void CPhonebookView::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
{CClientDC dc(this);
if( 0x0d == nChar )
{
if( 0 == ++m_nIndex )
{
m_menu.CreateMenu();
GetParent()->GetMenu()->AppendMenu(MF_POPUP,(UINT)m_menu.m_hMenu,"Phonebook");
GetParent()->DrawMenuBar();
}
m_menu.AppendMenuA(MF_STRING,111,m_strLine.Left(m_strLine.Find( ' ',0)));
m_strLine.Empty();
Invalidate();
}
else
{
m_strLine += char(nChar);
dc.TextOutA(0,0,m_strLine);
}
CView::OnChar(nChar,nRepCnt,nFlags);
}
原书中代码是这样的,不直到你们执行后有没有发现phonebook菜单下总有一个空白的菜单项?
后经过实验发现,是因为在敲第一个回车时完成popup菜单的添加,这时候回车会停留在输入缓存里,然后紧接着使用如下代码
m_menu.AppendMenuA(MF_STRING,111,m_strLine.Left(m_strLine.Find( ' ',0)));
就添加了一个空白的菜单项
因此只需要在m_menu.AppendMenuA(MF_STRING,111,m_strLine.Left(m_strLine.Find( ' ',0)));的上一行添加if( 0 < m_nIndex )就可以了
- 孙鑫教程第六章实现电话本的问题
- 电话本电话号码不能显示的问题
- TableVIew实现类似于电话本的首字母索引
- UITableVIew实现类似于电话本的首…
- UITableVIew实现类似于电话本的首字母索引
- UITableVIew实现类似于电话本的首字母索引
- ios开发-电话本的设计与实现
- C语言 用链表实现电话本的功能
- 关于孙鑫VC++ 第六章的一些问题
- 简单电话本实现
- 电话本再实现
- java实现简单电话本
- list实现电话本
- 电话本动态实现
- 用OpenInventor实现的NeHe OpenGL教程-第六课
- 用OpenInventor实现的NeHe OpenGL教程-第六课
- 用OpenInventor实现的NeHe OpenGL教程-第六课
- 用OpenSceneGraph实现的NeHe OpenGL教程 - 第六课
- 数组添加元素 - PHP
- Java Web自定义标签tld文件的使用
- #define 宏函数的应用
- LEADTOOLS典型案例-OMR智能阅卷系统
- 简单十步让你全面理解SQL
- 孙鑫教程第六章实现电话本的问题
- 龙应台:历史对於价值判断的影响—沙漠玫瑰的故事
- 共享内存---shmget shmat shmdt
- 51单片机矩阵键盘检测程序
- ORACLE 11g将数据库移动到不同的ASM磁盘组/修改ASM磁盘组的冗余属性
- 硬笔书写练习方法
- Android 4.2系统的手机使用LEAP企业Wifi网络 ( by quqi99 )
- ORACLE的EXP与IMP常用整理
- FastDFS的搭建