【mfc】对于对话框程序的优化与为程序创建图表

本文是继上一篇《【mfc】Helloworld》(点击打开链接)所写出来的对话框进行了的优化,

这次要把这个对话框程序做得更加好。

一、基本目标

1、为这个对话框程序加上自己的图标,如下图:

技术分享

2、不再是仅有一个让用户点击的对话框了,而且在用户点击确定与取消按钮之后能够进行判断

比如,用户点击了确定,则弹出用户点击了确定的提示

技术分享

如果用户点击了取消,则弹出用户点击取消的提示

技术分享


二、制作过程

1、首先像《【mfc】Helloworld》(点击打开链接)中,先新建一个简单的Win32工程,然后写入如下代码:

// messagebox.cpp : Defines the entry point for the application.
//

#include "stdafx.h"

int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow)
{
 	// TODO: Place code here.

	//以上为指定动作,不用管,真正有用的,是如下代码:
	//还是上次的弹出对话框函数,只是最后的参数变了,MB_OKCANCEL的意思是弹出一个确定与取消的对话框
	//而且这个对话框还有一个问号图标
	//这条语句是有返回值的
	int mbret=MessageBox(NULL,"请点击确定与取消","我是你的标题",MB_OKCANCEL|MB_ICONQUESTION);
	//如果它的返回值与IDOK或者IDCANCEL相同,那么则再弹出相应的对话框
	if(mbret==IDOK)
		MessageBox(NULL,"你点击了“确定”按钮","我就是可以被忽略的标题",MB_OK|MB_ICONEXCLAMATION);
	if(mbret==IDCANCEL)
		MessageBox(NULL,"你点击了“取消”按钮","我就是可以被忽略的标题",MB_OK|MB_ICONEXCLAMATION);
	
	//以下为指定动作
	return 0;
}


MessageBox的第四个参数,还可以填上很多变量,多个变量则如上用位或|运算符来表示,这些参数具体如下表:

技术分享

MessageBox的返回值则如下表,可以根据这个返回值来写条件结构,既可以写值,也可以写宏名

技术分享

大家可以根据此,来设置自己需要的对话框。

下面为这个程序添加图标

2、文件->新建,在弹出的默认“文件”标签页选择“资源脚本”,部分没有汉化完全的VC6则叫做ResourceScript,输入文件名,一般与工程相同即可,完成创建

技术分享


3、先关闭弹出的小窗口,再于右方的Resource View标签页中右击文件夹,选择“插入”,再新建一个icon对象,如下图:

技术分享


4、此时,你的工作空间则如下,在最左方多了一个icon1,双击之后打开,在最右方画你需要的icon即可

技术分享

也可以在右击ICON选择引入,找到系统已经存在的图标作为你的程序的图标,

弄完直接编译,运行即可,

打开你的工程文件夹中的Debug,你可以清楚地看到你的工程已经是有图标的程序了!

技术分享


做到这里,整个程序就做完了,

如果你不小心多创建了一个ICON2,则可以用如下的方式删除:

1、双击这个ICON2,你会发现在菜单栏中多了“图像”菜单,点击这个“图像”菜单,选择删除图像设备

技术分享

之后,再于左下角的FileView页找到ICON2.ico,按键盘的Delete键删除,同时找到你的工程文件夹,在里面找到ICON2删除

技术分享

此法相当隐蔽,笔者找了很久才找到。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。