本文是继上一篇《【win32】Helloworld》(点击打开链接)所写出来的对话框进行了的优化,
这次要把这个对话框程序做得更加好。
一、基本目标
1、为这个对话框程序加上自己的图标,如下图:
2、不再是仅有一个让用户点击的对话框了,而且在用户点击确定与取消按钮之后能够进行判断
比如,用户点击了确定,则弹出用户点击了确定的提示
如果用户点击了取消,则弹出用户点击取消的提示
二、制作过程
1、首先像《【win32】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删除
此法相当隐蔽,笔者找了很久才找到。