VC学习笔记1对话框应用程序设计
来源:互联网 发布:mac如何切换大小写 编辑:程序博客网 时间:2024/05/19 04:06
在VC++6.0环境中创建MFC工程
创建,调用新对话框:
在资源试图Dialog中右键增加新对话框,打开类向导(ctrl+w)会弹出是否加入新的对话框类,选择加入.
然后你该输入类名了,注意规范,类以C开头,如类名:Cxx 这个时候点确定时系统会自动生成xx.h的头文件
对话框可以分为模态对话框和非模态对话框两大类。区别是:在模态对话框关闭之前,用户不能再进行其他操作,而非模态对话框在运行的同时,用户还可以在应用程序的其他窗口中进行工作。
如果要调用那个新对话框,只需在响应里加入:
Cxx dlg; //Cxx为刚才创建的类名
dlg.DoModal(); //模态打开
注意如果报错必须在前面加上#include "xx.h"
如果要建立非模态可以这样做:
先在主对话框类中点右键增加成员变量
数据类型是 Cxx* 这里用指针类型
变量名随意这里为 pdlg
在所需要响应的按钮中
pdlg=new Cxx;
pdlg->Create(IDD_DIALOG2); //这里为对话框ID,每个元素都可以自定义一个ID,可以选中更改
pdlg->ShowWindow(SW_SHOW); //SW_SHOW显示
注意如果报错在对应的文件里#include "xx.h"
MessageBox用法:
在MFC中,消息对话框通过CWnd::MessageBox和AfxMessageBox两个函数进行调用。前一个函数是CWnd的成员函数,而AfxMessageBox则是全局函数。
MessageBox函数可以调用一个消息对话框。
语法:
int MessageBox( LPCTSTR lpszText, LPCTSTR lpszCaption = NULL, UINT nType = MB_OK );
AfxMessageBox函数可以调用一个消息对话框。
语法:
int AfxMessageBox(LPCTSTR lpszTest,UINT nType=MB_OK UINT nIDHelp=0);
lpszText:消息框中显示的文本。
lpszCaption:消息框的标题。
nType:消息框中显示的按钮风格和图标风格的组合,可以使用“|”操作符来组合各种风格。默认为MB_OK。
调入文件路径:
在某个响应按钮中加入:
CFileDialog dlg(TRUE, //打开对话框,FALSE为保存
NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,
"ALL Files(*,TXT)|*.TXT||",AfxGetMainWnd()); //以TXT结尾
注意这里会弹出一个新的对话框,该对话框是系统默认的获取文件路径的对话框
CString strPath,strText="";
if(dlg.DoModal()==IDOK)
{
strPath=dlg.GetPathName();
m_OpenPath.SetWindowText(strPath);
}
如果点确定,strPath被赋值路径名,然后 m_OpenPath(这里我定义了静态文本)会显示路径内容
读入文件:
在上面调入以后
CFIle file(strPath,CFile::modeRead); //以只读的方式打开char read[10000];file.Read(read,10000);for(int i=0;i<file.GetLength();i++){ strText+=read[i];}file.Close();
保存文件:
CFileDialog dlg(FALSE, //打开对话框,FALSE为保存 NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT, "ALL Files(*,*)|*.*||",AfxGetMainWnd()); //构造另存为对话框CString strPath,strText="";char write[1000]; if(dlg.DoModal()==IDOK) { strPath=dlg.GetPathName(); if(strPath.Right(4)!=".txt") strPath+=".txt"; //不以.txt结尾则加.txt } Cfile file(_T(strPath),Cfile::modeCreate|Cfile::modeWrite); //创建文件以写方式打开m_edit.GetWindow(strText); //读入m_edit对象(文本控件)里面的内容到strTextstrcpy(write,strText); //入缓存file.Write(write,strText.GetLength()); //向文件写入数据file.Close();Edit控件:
可以给该控件增加变量
当然,如果要将Edit里面的东西更新到变量中用
UpdateData(TRUE);
如果要把变量里的东西更新到Edit里面用
UpdateData(FALSE);
判断Edit里面是否为空
m_edit,IsEmpty()
m_edit.GetWindow(strText); //读入m_edit对象(文本控件)里面的内容到strText,CString类型
m_OpenPath.SetWindowText(strPath); //显示某内容
- VC学习笔记1对话框应用程序设计
- VC WINDOWS 程序设计学习笔记
- 孙鑫VC学习笔记:第七讲 对话框
- VC++ 深入详解 学习笔记 对话框编程
- 孙鑫VC学习笔记:第七讲 对话框
- MFC对话框程序设计笔记
- MFC Windows应用程序设计——学习笔记【1】
- 《Windows程序设计》学习笔记(chap11 对话框)-->重写俄罗斯方块代码
- MFC应用程序设计(第二版)学习笔记
- MFC应用程序设计(第二版)学习笔记
- vc对话框打印笔记
- VC++对话框学习总结
- 孙鑫VC++视频学习笔记之6: 对话框编程(1)
- VC++学习笔记1--------------模式对话框中“static text”控件的字体大小改变
- VC++学习笔记对对话框窗体大小的修改
- VC++学习笔记2--------------如何给MFC对话框添加背景图片
- VC++学习笔记4--------------怎么样销毁一个对话框
- VC++学习笔记4--------------怎么样销毁一个对话框
- 为什么要引进多线程?
- hdoj1078 FatMouse and Cheese【记忆化搜索】
- Java进阶
- HTTP 1.1与HTTP 1.0的比较
- HEVC学习
- VC学习笔记1对话框应用程序设计
- linux初学(十五)之linux网络基础
- 【Leetcode Algorithm】Summary Ranges
- JSONP请求控制
- poj1861 最小生成树 prim & kruskal
- 冒泡和快排
- 未完成记录
- git使主干的一个分支成为自己fork分支的一个分支,即复制主干分支
- XHTML中的CSS样式