MFC——第二弹
来源:互联网 发布:mac手势设置 编辑:程序博客网 时间:2024/06/15 12:04
1.在给确定按钮添加代码的时候遇到了问题。
CString str;
str = "姓名:" + m_Name + ", 学号:" + m_Sid + ", 成绩:" + this->m_Value;
this->m_ListCon.AddString(str);
原代码如上所示,在MFC中,CString是一种特有的字符串类型,支持如上图所示的连加赋值,但是上边的代码确实错误的,在“ ”中的赋值并不是CString的,没法直接连加赋值,需要叫上CString进行强制类型转换以后才能进行复制,修改代码如下:
CString str;
str =(CString)"姓名:" + m_Name + ", 学号:" + m_Sid + ", 成绩:" + this->m_Value;
this->m_ListCon.AddString(str);
2.在完成上边所示的内容按理说就可以在Edit Control控件中输入内容并且在List Box中显示了,但是最开始却给了我错误提示,说啥内存占用啥啥的。经过一番思考,发现了第一个问题:在添加控件的成员变量的时候,应该给他改成基于控件值传递。
改完以后,又发现了第二个问题,变量得不到Edit Control中的字符串,经过百度,查找到一种解决方案,在前面添加
UpdateDate(true);
便能够得到里边的字符串了。
3.在为列表框ListBox添加事件的时候,添加了如下代码:
m_Listid = this->m_ListCon.GetCurSel();
m_Listid是啥类型的?是int类型的,可以这么理解,没当你往ListBox添加一条信息,m_Listid便加一,相当于给每一条信息添加了一个int型的Id,便于后边的删除等操作。
4.为对话框”删除“按钮添加代码:
this->m_ListCon.DeleteString(this->m_Listid);
5.
if (this->m_ListCon.GetCount() >= 0 && this->m_ListCon.GetSelCount() == 1)
{
CString strs;
strs = (CString)"成绩:" + this->m_Value;
MessageBox(strs);
}
else
MessageBox((CString)"选有选中或者无内容", (CString)"警告", MB_ICONEXCLAMATION);
如果在ListBox中没有信息,则this->m_ListCon.GetCount()返回<0,如果选中在ListBox的一条信息,则this->m_ListCon.GetSelCount()返回1;
MMP,如果selection属性为Multiple,则判断是否为单选时GetSelCount()==1,如果为single,则判断是否等于-1或者LB_ERR。
6.关闭窗体
MFC中关闭窗口的几种办法:
退出程序用AfxGetMainWnd()->SendMessage(WM_CLOSE);
关闭当前窗口用DestroyWindow( );
关闭模式对话框用EndDialog(0);
如果想要使窗体的右上角的×号失效,就不能调用系统自带的OK和Cancel去关闭窗体,可以自己新建一个用来关闭。
exit(0);
postquitmessage(0);
onok();
oncancel();
sendmessage(wm_close,0,0);
exitprocess(0);
其中以exit(0)最为迅速,在实践方面
因为窗体右上角的叉号和最开始自带的cancel键是共用一个OnClickCancel/OK(),所以如果想实现让右上角的失效,应该成功建立一个button,然后在里边添加相应的事件。
阅读全文
1 0
- MFC——第二弹
- MFC第二课——Console程序、进程和线程
- MFC第二天——基类2及程序初始化
- 学习MFC第二天——1些基础(2)
- 学习MFC第二天——1些基础(3)
- 学习MFC第二天——第一个Windows程序
- 《深入浅出MFC》 第二章
- MFC第二天
- mfc第二天
- C++第二天--MFC
- 《深入浅出MFC(第二版)》
- 深入浅出MFC笔记第二章
- MFC 第二章学习笔记
- 深入浅出MFC(第二章)
- 第二讲MFC+OSG框架
- 第二讲MFC和Win32
- MFC学习之第二天
- Java 基础———第二弹
- Thinkphp重复字段过滤
- cocoaPods环境配置
- Thinkphp判断值是否为空
- [Thinkphp]SQL LIKE操作符
- cmd常用命令总结
- MFC——第二弹
- hibernate pageQuery sirdc-core-0.0.2-SNAPSHOT.jar
- iftop 监控网卡实时流量
- 学习Spring-Session+Redis实现session共享
- 云栖大会-10月12日下午云HBase专场-大数据时代的结构化存储,HBASE应用实践与探索
- 理解伪元素 :before 和 :after
- 学习笔记:音频之手机物理按键
- 【算法】插入排序-js实现
- 我的第一篇博客-写写时间戳的问题吧