一个简单的Windows程序主要包括应用程序主函数WinMain函数和消息处理函数,WinMain函数的主要工作是定义窗口、注册窗口、显示窗口、消息循环;消息处理函数的主要工作是处理干兴趣的消息。下面的示例程序显示了一个简单的窗口程序的结构。
例、一个简单的Windows程序。
在Visual C++开发环境下,创建一个空的Win32Application工程,添加如下代码
#include <windows.h>
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);// 申明窗口函数
int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdline,
int nCmdShow)//Windows程序的入口为WinMain函数
{
WNDCLASS wndclass;//定义窗口类的结构变量
HWND hwnd;//定义窗口句柄
MSG msg;//定义消息结构变量
wndclass.style=CS_HREDRAW|CS_VREDRAW;//改变窗口大小这重绘
wndclass.lpfnWndProc=WndProc;//窗口函数为WndProc
wndclass.cbClsExtra=0;//窗口类无扩展
wndclass.cbWndExtra=0;//窗口实例无扩展
wndclass.hInstance=hInstance;//注册窗口实例句柄
wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);//用箭头光标
wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);//背景为白色
wndclass.lpszMenuName=NULL;//窗口默认无菜单
//窗口类名为windows窗口创建
wndclass.lpszClassName=TEXT("windows窗体创建");
/*注册窗口类*/
if(!RegisterClass(&wndclass))return false;
/*创建窗体*/
hwnd=CreateWindow(TEXT("windows窗体创建"),//窗口类名windows窗体创建
TEXT("windows窗体创建"),//窗口名windows窗体创建
WS_OVERLAPPEDWINDOW,//重叠式窗口
CW_USEDEFAULT,CW_USEDEFAULT,//左上角屏幕坐标默认值
CW_USEDEFAULT,CW_USEDEFAULT,//窗口大小默认值
NULL,//无父窗口
NULL,//无子窗体
hInstance,//创建值窗体实例句柄
NULL//值窗体无创建参数
);
/*显示并更新窗口*/
ShowWindow(hwnd,nCmdShow);
UpdateWindow(hwnd);
/*消息循环*/
while (GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);//键盘消息转换
DispatchMessage(&msg);//发送消息给窗口函数
}
return msg.wParam;//返回推出值
}
/*窗口函数*/
LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lparam)//参数:句柄,消息,消息参数,消息参数
{
/*根据消息值转相应的消息处理*/
switch (message)
{
case WM_PAINT://重绘窗口客户区消息处理
HDC hdc;//定义设备描述表句柄
PAINTSTRUCT ps;//定义绘图星系结构变量
hdc=BeginPaint(hwnd,&ps);//获取要重绘的窗口的设备描述表句柄
TextOut(hdc,10,20,TEXT("Hello World!"),strlen("Hello World!"));//输出文本
EndPaint(hwnd,&ps);//结束要重绘的窗口
return 0;
case WM_DESTROY://撤销窗口消息处理
PostQuitMessage(0);//产生退出程序消息WM_QUIT
return 0;
}
return DefWindowProc(hwnd,message,wParam,lparam);//其他消息交给有系统提供的缺省处理函数
}
运行结果:

分享到:
相关推荐
《C++ Windows程序设计教程》是一份专注于C++在Windows平台下进行应用程序开发的课程资料。这份教程旨在帮助学习者掌握C++语言的同时,熟悉Windows操作系统下的编程环境和技巧,从而能够编写出功能丰富的桌面应用。 ...
《Visual C++ Windows外壳编程资料》是一份深入探讨Windows Shell编程技术的专业文档,适用于那些希望利用C++在Windows操作系统上构建高效、用户友好的应用程序的开发者。Windows Shell是Windows操作系统的核心组成...
3. **服务程序结构** - 主要类:服务类通常继承自`CWinApp`,并包含服务的入口点函数`WinMain()`。 - 服务控制处理程序:实现`SERVICE_CONTROL_*`消息的处理函数,例如`OnStart()`, `OnStop()`等。 - 注册服务:...
在Windows平台上,C++语言可以用来开发各种类型的应用程序,包括我们的"Windows C++ 画板程序"。这个小型有趣的画板应用展示了C++在图形用户界面(GUI)编程方面的潜力,利用Microsoft的Windows API或者第三方库如Qt...
5. **C++ Primer 3rd Edition 中文完美版**:这是C++初学者的入门教材,详细介绍了C++的基础语法、控制结构、数据结构、类和对象等内容,旨在帮助新手建立坚实的语言基础。 这些书籍的组合提供了一个全面的学习路径...
在C++编程领域,Windows窗体程序开发是一项基础且重要的技能。Windows API(应用程序接口)是微软提供的一个庞大而全面的库,它包含了创建、管理以及控制窗口所需的各种函数、结构和枚举类型。本教程将围绕“c++ ...
在“C++猜数字程序(Windows程序设计)”这个项目中,我们将探讨如何使用C++编程语言在Windows环境下开发一个交互式的猜数字游戏。这个游戏通常涉及计算机随机生成一个整数,然后让用户尝试猜测这个数字,直到用户猜...
本书旨在帮助读者掌握如何在Windows环境下使用C++语言进行程序开发,并能够开发出实际应用的应用程序。本书覆盖了广泛的Windows编程技术,包括但不限于窗口管理、消息处理、图形用户界面设计等。 #### 二、版权信息...
总之,这个C++经典程序合集为学习者提供了一个全面实践的平台,从基本的数据结构到高级的游戏开发,涵盖了C++编程的多个重要领域。通过研究源代码并动手实践,不仅可以巩固理论知识,还能提升解决实际问题的能力,是...
标题 "C++,Windows编程" 涉及到的是利用C++这一强大编程语言进行Windows平台下的应用程序开发。C++是一种通用、面向对象的编程语言,以其高效性、灵活性和广泛的库支持而闻名。Windows编程则涉及到如何利用Windows ...
在本文中,我们将深入探讨如何使用C++编程语言和Windows API来创建一个本地Windows应用程序,具体实例为一个简单的时钟程序。...通过这个项目,开发者不仅可以巩固C++基础知识,还能加深对Windows程序开发的理解。
本文将深入探讨如何使用C++语言编写Windows服务程序,通过提供的示例代码,您可以理解其核心概念并将其应用于自己的项目中。 首先,我们需要了解Windows服务的基本结构。服务通常由两个主要部分组成:服务控制管理...
前言 第一章Visual C++简介 ...第六章 使用Windows标准控件 第七章 使用ActiveX控件 第八章 文档/视结构 第九章 图形设备接口 第十章 MFC通用类 第十一章 异常处理和诊断 第十二章 多线程 第十三章 动态链接库
Windows程序设计的核心在于理解窗口、事件驱动、消息响应和程序结构。 窗口是Windows程序的基本单元,通常包括菜单、工具条、滚动条、状态栏、命令按钮和对话框等元素。窗口由句柄唯一标识,是用户与程序交互的主要...
QT C++扫雷程序是一个基于Qt框架开发的、模仿Windows操作系统内置扫雷游戏的应用程序,非常适合初学者学习和掌握C++编程以及Qt库的使用。这个项目可以帮助开发者了解图形用户界面(GUI)的设计,事件处理,以及一些...
Visual C++被广泛应用于Windows应用程序的开发,尤其是在Windows API和MFC框架的应用上。 #### Windows Shell Windows Shell是Windows操作系统的一个关键组件,负责管理图形用户界面(GUI)以及桌面环境。它包括...
C++Builder是一款强大的集成开发环境,特别适合C++开发者进行Windows应用程序的开发。本示例中,我们将学习如何利用C++Builder创建一个小程序,以便用户可以轻松地在两个自定义的桌面之间切换。 首先,理解Windows ...
总的来说,这份C++大作业全面覆盖了从基础语法到高级特性的多个方面,对于提升C++编程技能和理解Windows程序设计有很大的帮助。通过完成这样的作业,学生不仅可以学习到C++语言本身,还能接触到实际软件开发的流程和...
**知识点详解:使用C++开发Windows 8应用商店程序** 一、**Windows 8应用商店应用概述** Windows 8引入了一种全新的用户体验,为了适应这一变革,Microsoft推出了专门针对Windows 8平台优化的应用商店应用。这类...