开发一个Windows版的hello world
来源:互联网 发布:网络id 编辑:程序博客网 时间:2024/05/21 14:57
各位码农们还在为写不出漂亮的界面而苦恼吗?
还在为只能写出黑底白字的控制台程序而难过吗?
今天我教大家告别控制台程序,进入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_OK
0x00000000L
确认按钮
MB_OKCANCEL
0x00000001L
确认取消
MB_ABORTRETRYIGNORE
0x00000002L
中止重试忽略
MB_YESNOCANCEL
0x00000003L
是否取消
MB_YESNO
0x00000004L
是否
MB_RETRYCANCEL
0x00000005L
重试取消
信息框显示图标
MB_ICONHAND
0x00000010L
X
MB_ICONQUESTION
0x00000020L
?
MB_ICONEXCLAMATION
0x00000030L
警告
MB_ICONASTERISK
0x00000040L
i
按钮
IDOK
确认
IDCANCEL
取消
IDBORT
退出
IDRETRY
重试
IDIGNORE
忽视
IDYES
是
IDNO
否
- 开发一个Windows版的hello world
- Windows Azure Platform (十一)开发一个简单的Hello World
- 搭建一个开发Predix软件的Windows系统(3)Predix版的Hello World
- 开发一个应用程序的思路:"Hello World"
- Struts2 开发一个简单的Hello World
- windows 开发之hello world
- 写一个Dalvik版的Hello World
- windows wdm驱动的一个hello world例子
- 搭建基于Windows 7 的Beagleboard开发平台: 编写一个可在Beagleboard上运行的Hello World
- 一个简单的"Hello World"
- Physx的一个hello world
- Plasma开发的“Hello World”
- windows GUI开发01 - 显示"Hello,world"
- Jbpm3.2 开发一个Hello World程序
- PHP 扩展开发 : 编写一个hello world !
- 理解简单的Windows Hello World程序
- Windows下,dbus的hello world
- 简单的“hello world” windows程序
- PHP介绍及视频教程
- 一个异步网络请求的坑:关于NSURLConnection和NSRunLoopCommonModes
- Python学习笔记[2]
- synchronized 实现生产者消费者问题
- firefox插件fireftp真不错 不用额外的ftp软件了
- 开发一个Windows版的hello world
- 开源分布式存储系统介绍
- jQuery弹出框在iframe无法正常使用的解决方式
- python进阶(4) getattr的用法
- SpringMVC+hibernate+mysql中要注意的问题——特别是注释的问题
- Lock锁 实现生产者和消费者问题
- 死锁问题
- android:为TextView添加样式——下划线,颜色,设置链接样式及前背景色
- django中的meta参数