用MFC制作windows风格界面步骤:

Slides:



Advertisements
Similar presentations
壹、教學檔案介紹(前菜) 貳、教學檔案平台介紹(主菜) 參、檔案目錄範例及小叮嚀(甜點)
Advertisements

C语言程序设计 主讲教师 :张群燕 电话:
第九章 字串 (String).
计算机高级程序设计 第五章.
雷 霆 战 机 By—谷恩轩&余万全.
C++中的声音处理 在传统Turbo C环境中,如果想用C语言控制电脑发声,可以用Sound函数。在VC6.6环境中如果想控制电脑发声则采用Beep函数。原型为: Beep(频率,持续时间) , 单位毫秒 暂停程序执行使用Sleep函数 Sleep(持续时间), 单位毫秒 引用这两个函数时,必须包含头文件
在PHP和MYSQL中实现完美的中文显示
Chapter2 Constants, Variables, and Data Types
第九章 字符串.
Android App 系統開發教學 Luna 陳雯琳 2014/12/18
C# 程式設計 第一部分 第1-4章 C# 程式設計 - 南華大學資管系.
第二十九章 DLL / LIB函式庫開發 當我們開發程式到一個階段之後,我們一定會希望各個Component的程式碼可以分開的越清楚越好。而這一章最主要就是要告訴各位讀者,我們常在Windows系統中看到的dll或是lib的檔案該怎麼實作?做出這樣的library我們又該如何運用?為什麼使用dll或是lib有利於我們開發程式?以上這些疑問都將會在這一章中得到解答。
.NET 程式設計入門(使用 C#) 講師:鄧智鴻.
第四章 在 C# 中实现 OOP 概念.
第八章 菜单设计 §8.1 Visual FoxPro 系统菜单 §8.2 为自己的程序添加菜单 §8.3 创建快捷菜单.
第4章 面向对象编程方法 王德俊 上海交通大学继续教育学院.
授课老师:龚涛 信息科学与技术学院 2018年3月 教材: 《Visual C++程序员成长攻略》 《C++ Builder程序员成长攻略》
第5章 文本与字体 2018/12/3 面向对象与可视化 程序设计 --Visual C++ 编程 主讲教师: 唐 龙教授 (计算机科学与技术系) 黄维通博士 (计算机与信息管理中心) 清 华 大 学 2001年2月 2018/12/3 Huang Weitong.
高等視窗程式設計 GUI的使用(Dialog Base) 游子宜.
第1章 Windows应用程序框架的 创建与消息处理
走进编程 程序的顺序结构(二).
辅导课程六.
第十一讲 MFC常用控件的使用(3) 严宣辉 数学与计算机科学学院
MFC WinSock类的编程 为简化套接字网络编程,更方便地利用Windows的消息驱动机制,微软的基础类库(Microsoft Foundation Class Libary,简称MFC),提供了两个套接字类,在不同的层次上对Windows Socket API函数进行了封装,为编写Windows.
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
第一讲: 基本流程(1).
按键驱动 广州创龙电子科技有限公司 Guangzhou Tronlong Electronic Technology Co., Ltd.
簡易 Visual Studio 2005 C++ 使用手冊
Ch02-基礎語法.
POWERPOINT TEMPLATE HI.
第七章 操作符重载 胡昊 南京大学计算机系软件所.
CLICK HERE TO ADD YOUR TITLE
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
产品推广 PRODUCT PROMOTION PRESENTED BY OfficePLUS.
Java變數 2014/6/24.
72% 29% 33% ADD YOUR TITLE HERE 点击此处添加文本信息。
《面向对象程序设计与Visual C++6.0教程》
VB与Access数据库的连接.
POWERPOINT TEMPLATE PRESENTED BY OfficePLUS.
C语言程序设计 第一章 数据类型, 运算符与表达式 第二章 顺序程序设计 第三章 选择结构程序设计 第四章 循环控制 第五章 数组.
本节内容 Win32 API中的宽字符 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
CLICK HERE TO ADD YOUR TITLE
第5章 文本与字体 2019/4/25 面向对象与可视化 程序设计 --Visual C++ 编程 主讲教师: 唐 龙教授 (计算机科学与技术系) 黄维通博士 (计算机与信息管理中心) 清 华 大 学 2001年2月 2019/4/25 Huang Weitong.
第九节 赋值运算符和赋值表达式.
iSIGHT 基本培训 使用 Excel的栅栏问题
3.16 枚举算法及其程序实现 ——数组的作用.
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
30% 30% CLICK HERE TO ADD YOUR TITLE CLICK HERE TO ADD YOUR TITLE
Visual Basic程序设计 第13章 访问数据库
C++语言程序设计 C++语言程序设计 第六章 指针和引用 第十一组 C++语言程序设计.
Click here to add your title
第 9 章 建構函式與解構函式.
教育部特殊教育通報網 學生異動、接收操作說明.
Delphi 7.0开发示例.
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
Python 环境搭建 基于Anaconda和VSCode.
第六章 Excel的应用 五、EXCEL的数据库功能 1、Excel的数据库及其结构 2、Excel下的数据排序 (1)Excel的字段名行
WEB程序设计技术 数据库操作.
基本資料型態 變數與常數 運算子 基本的資料處理 授課:ANT 日期:2014/03/03.
使用ADO访问数据库 李宝智 BonizLee 课程 10564A
创建、启动和关闭Activity 本讲大纲: 1、创建Activity 2、配置Activity 3、启动和关闭Activity
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
POWERPOINT TEMPLATE.
<编程达人入门课程> 本节内容 有符号数与无符号数 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ:
培训课件 AB 变频器的接线、操作及参数的备份 设备动力科.
熟悉VC++开发环境.
银川社保网上申报 宁夏人力资源和社会保障 网上服务大厅操作
考察点:switch\while\for System.in\Scanner char vs int
就學貸款 相關注意事項 學生事務處 /生活輔導組.
第二章 简单数据类型 §2.1 数据类型概述 §2.2 变量和常量 §2.3 简单数据类型 §2.4 简单数据类型的相互转换
Presentation transcript:

用MFC制作windows风格界面步骤: 启动VC++6.0, 从File菜单中选择New选项, 选择Projects标签,然后单击MFC AppWizard(exe)。 在Location域中输入一个合适的路径名或单击Browse按钮来选择一个。在Project name中输入项目名称(比如:mfc_1)。点OK。 2 1 3

打开MFC AppWizard-Step1对话框后。选择基本对话。点下一个 。

在MFC AppWizard-Step2 of 4对话框。 输入标题对话,如:我的第一个MFC程序。点下一个。

在MFC AppWizard-Step3 of 4对话框。不做任何更改,直接点下一个。

在MFC AppWizard-Step4 of 4对话框。可以修改分类名等信息,在这里不做任何更改,直接点完成。

删除系统给的所有控件,自己创建某一样式的界面,点编排菜单Tab Order,得到如下样式的界面(见1): 2 ID: 标题 1 Static 不修改 输入数据 2 输出数据 3 Button1 ID_ok 确定 4 Button2 ID_cancel 退出 5 Edit ID_inout 6 ID_output 1 对编号1-6的控件分别选择点鼠标右键设置如图2,最后得到界面如图3形式。 3

选择按纽“确定”和“退出”,点鼠标右键Events…,分别添加鼠标单击事件: 然后点Edit Existing进行相关代码的输入。

void CMfc_1Dlg::Onok() { // TODO: Add your control notification handler code here CString input,output; GetDlgItemText(ID_input,input); //用CString类的变量input接收Edit框ID_input内的数据。 /********************************************************************/ //数据处理过程,包括数据类型的转换等; output=input; SetDlgItemText(ID_output,output); //将CString类的变量output的数据输出到Edit框ID_output里。 } void CMfc_1Dlg::Oncancel() { // TODO: Add your control notification handler code here this->EndDialog(ID_cancel);//退出按纽的ID是:ID_cancel. }

程序执行结果,输入“测试”后点“确定”按纽,等到的结果如下:

常见的CString转换为其他数据类型的方法。 atof()   将字符串转换成双精度数 atoi()   将字符串转换成整型数 atol()   将字符串转换成长整型数 实例1: CString   input;     int           i;     double    d;     i=atoi(input.GetBuffer(input.GetLength()));    d=atof(input.GetBuffer(input.GetLength())); 实例2: CString   input;     int     i;     long   l;     i   =   atoi((LPCTSTR) input);     l   =   atol((LPCTSTR) input); CString转换为字符串 char   *str   =   input.GetBuffer(input.GetLength());

常见的其他数据类型转换为CString的方法。 通用格式:output.Format(“% ¥”,变量); ¥取值:d 整型 l 长整型 u 无符号整型 f 浮点型 %.nf n表示浮点数的精度 实例 CString   output;     int   i=-10;     long   l=120;     UINT   u=250;     double  d= 3.14159265      output.Format("%d",   i);     output.Format("%l",   l);     output.Format("%u",   u);     output.Format("%.5f",   d);  

整型数据输入输出的实例 输入:10 输出:110 void CMfc_1Dlg::Onok() { // TODO: Add your control notification handler code here CString input,output; GetDlgItemText(ID_input,input); int i; i=atoi((LPCTSTR) input); i=i+100; output.Format("%d",i); SetDlgItemText(ID_output,output); } 输入:10 输出:110

CEdit 使用技巧 注:m_edit1代表ID为IDC_EDIT1的CEdit控件的control类型的变量 1.设置edit只读属性     方法一:                 m_edit1.SetReadOnly(TRUE);     方法二:                 ::SendMessage(m_edit1.m_hWnd, EM_SETREADONLY, TRUE, 0);

2. 在edit最后添加字符串 CString str; m_edit1. SetSel(-1, -1); m_edit1 2.在edit最后添加字符串         CString str;         m_edit1.SetSel(-1, -1);         m_edit1.ReplaceSel(str); 3.随输入自动滚动到最后一行 extern CEdit* pmyEdit; int nFirstVisible = pmyEdit->GetFirstVisibleLine(); if (nFirstVisible > 0) {    pmyEdit->LineScroll(-nFirstVisible, 0); }

4.如何限制edit输入指定字符    可以从CEdit派生一个类,添加WM_CHAR消息映射。下面一个例子实现了限定输入16进制字符的功能。    void CMyEdit::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)     {         if ( (nChar >= '0' && nChar <= '9') ||              (nChar >= 'a' && nChar <= 'f') ||              (nChar >= 'A' && nChar <= 'F') ||               nChar == VK_BACK ||                nChar == VK_DELETE)    //msdn的virtual key        {             CEdit::OnChar(nChar, nRepCnt, nFlags);         }         }

void CStrDlg::OnButton1() { // TODO: Add your control notification handler code here CString ss="1212.12"; int temp=atoi(ss); CString aa; aa.Format("%d",temp); AfxMessageBox("var is " + aa); } sart.Format("%s",buf); CString互转char* ///char * TO cstring CString strtest; char * charpoint; charpoint="give string a value"; strtest=charpoint; ///cstring TO char * charpoint=strtest.GetBuffer(strtest.GetLength()); 标准C里没有string,char *==char []==string 可以用CString.Format("%s",char *)这个方法来将char *转成CString。要把CString转成char *,用操作符(LPCSTR)CString就可以了。 CString转换 char[100] char a[100]; CString str("aaaaaa"); strncpy(a,(LPCTSTR)str,sizeof(a)); string 转 CString CString.format("%s", string.c_str()); char 转 CString CString.format("%s", char*); char 转 string string s(char *); string 转 char * char *p = string.c_str(); CString 转 string string s(CString.GetBuffer()); 1,string -> CString CString.format("%s", string.c_str()); 用c_str()确实比data()要好. 2,char -> string string s(char *); 你的只能初始化,在不是初始化的地方最好还是用assign(). 3,CString -> string string s(CString.GetBuffer()); GetBuffer()后一定要ReleaseBuffer(),否则就没有释放缓冲区所占的空间. 《C++标准函数库》中说的 有三个函数可以将字符串的内容转换为字符数组和C—string 1.data(),返回没有”\0“的字符串数组 2,c_str(),返回有”\0“的字符串数组 3,copy() --------------------------------------------------------------- CString与int、char*、char[100]之间的转换- - CString与int、char*、char[100]之间的转换- - CString互转int 将字符转换为整数,可以使用atoi、_atoi64或atol。 而将数字转换为CString变量,可以使用CString的Format函数。如 CString s; int i = 64; s.Format("%d", i) Format函数的功能很强,值得你研究一下。