各位码农们还在为写不出漂亮的界面而苦恼吗?
还在为只能写出黑底白字的控制台程序而难过吗?
今天我教大家告别控制台程序,进入Windows图形界面开发
开发Windows图形界面只要大家耳熟能详的VC6.0就OK了
众所周知编程都是从hello world 开始的今天教大家开发Win32版的 hello world
第一步:打开各位码农们耳熟能详的VC6.0
第二步:文件—新建
第三步: 选择 Win32 Application 输入一个工程名后单击确定
第四步: 选择一个简单的Win32程序----单击完成
第五步:单击 111(工程名) classes --Globals-----WinMain(HINST
第六步: 进入Win32 程序开发界面
第七步:在 TODD Place code here 下面写上下面的代码
MessageBox(NULL,TEXT("hello world !\n"),TEXT("Say hello"),MB_OK);
执行结果
全部代码:
#include "stdafx.h" int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { // TODO: Place code here. MessageBox(NULL,TEXT("hello world !\n"),TEXT("Say hello"),MB_OK); return 0; }
C语言控制台代码:
#include <stdio.h> int main() { printf("hello world !\n"); return 0; }
通过以上两段代码的比较可以得出以下结论:
1 C语言控制台程序和Win32程序中都有头文件
2 C语言控制台程序和Win32程序中都有主函数
3 Win32程序中的MessageBox类似于C语言控制台中的printf
函数分析
函数名:WinMain
函数原型:
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
函数功能:Windows程序的主函数(类似于C语言中的 main())
参考文章:点击打开链接
参数:
hInstance 类型 HINSTANCE(程序的实例句柄类型)
意义: 程序的实例句柄(句柄是Win32编程中一个非常重要的概念)
hPrevInstance 类型: HINSTANCE(程序的实例句柄类型)
意义: 程序的实例句柄(句柄是Win32编程中一个非常重要的概念)
lpCmdLine 类型: LPSTR(字符串指针)
意义:命令行
nCmdShow 类型: int
意义:显示方式(一般不用)
函数名:MessageBox
函数原型:
int WINAPI MessageBox(
_In_opt_ HWND hWnd,
_In_opt_ LPCTSTR lpText,
_In_opt_ LPCTSTR lpCaption,
_In_ UINT uType
);
函数功能:显示一个消息窗口
参考文章:点击打开链接
参数:
hWnd: 类型 HWND(窗口句柄)
意义:程序的句柄
lpText: 类型 LPCTSTR(字符串指针)
意义:消息框中的内容
lpCaption: 类型 LPCTSTR(字符串指针)
意义:消息框的标题
uType: 类型 int
意义:消息框上显示的按钮
应用实例:
1 弹出一个问年龄的消息框并在消息框上显示一个问号和一个是一个否两个按钮
当用户点击是的时候弹出一个消息框,当用户点击否弹出另一个消息框
代码:
#include "stdafx.h" int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { // TODO: Place code here. //得到用户单击的按钮 int ret = MessageBox(NULL,TEXT("你今年有18岁吗?\n"),TEXT("询问"),MB_YESNO | MB_ICONQUESTION); if(IDYES == ret)//当用户单击了是 { MessageBox(NULL,TEXT("你是成年人"),TEXT("回答"),MB_OK); } else//当用户点击了否 { MessageBox(NULL,TEXT("你是未成年人"),TEXT("回答"),MB_OK); } return 0; }
执行结果:
弹出询问年龄的消息框
当用户点击是
当用户点击否:
2 消息框的综合应用
源代码:
#include "stdafx.h" #include <stdlib.h> int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { // TODO: Place code here. //得到用户单击的按钮 int ret = MessageBox(NULL,TEXT("你是好人吗?\n"),TEXT("询问"),MB_YESNO | MB_ICONQUESTION); if(IDYES == ret)//当用户单击了是 { MessageBox(NULL,TEXT("看你就不像好人点击【确定】开始格式化C盘"),TEXT("回答"),MB_OK | MB_ICONEXCLAMATION); } else//当用户点击了否 { //得到用户单击的按钮 ret = MessageBox(NULL,TEXT("尝试把你变成好人失败,是否重试?"),TEXT("回答"), MB_RETRYCANCEL | MB_ICONEXCLAMATION); if(IDRETRY == ret)//当用户单击了重试 { MessageBox(NULL,TEXT("多做好事就可以变成好人"),TEXT("回答"),MB_OK); } else//当用户单击取消 { exit(0);//退出程序 } } return 0; }
执行结果:
弹出一个询问好人坏人的消息框
当用户点击了是后
当用户点击了否后
当用户点击了重试后
参考资料
信息框中显示按钮
|
|
MB_ICONHAND |
0x00000010L |
X |
MB_ICONQUESTION |
0x00000020L |
? |
MB_ICONEXCLAMATION |
0x00000030L |
警告 |
MB_ICONASTERISK |
0x00000040L |
i |
按钮
IDOK |
确认 |
IDCANCEL |
取消 |
IDBORT |
退出 |
IDRETRY |
重试 |
IDIGNORE |
忽视 |
IDYES |
是 |
IDNO |
否 |