Windows 窗口应用程序编程 第一章第一节 最基础Windows程序模板的解析

第一节 Windows 程序的解析

Windows程序的组成

Windows程序=API的调用+资源的管理=窗口类的创建、注册、显示+资源的显示、功能+回调函数的编写+消息循环。
windows程序的基本架构是

源文件
入口

//头文件
#include<xxxxxxx>
//函数的定义
//主函数
int WINAPI WinMain(HINSTANCE hInstance,……)
{
窗口类创建;
窗口类的注册;
窗口类的显示;
消息队列;
return……;
}
回调函数的定义

类外定义的类源文件:
类.cpp
头文件:
resource.h(在创建资源文件.rc时自动创建),并随着.rc通过“添加资源”方式的更新而更新,提供资源的唯一标识符。
各种类.h (根据需要自己设置)
资源文件:
resource.rc
通过创建而创建,可通过VS内添加资源而定义,也可以自行编写,但前者不需要自己更新头文件,后者需要自己更新头文件。

现根据微软提供的窗体应用程序解析这个结构。

源文件



// WindowsProject2.cpp : 定义应用程序的入口点。

//

 

#include "stdafx.h"//类的头文件

#include "WindowsProject2.h"资源的头文件

 

#define MAX_LOADSTRING 100//是标题资源的标识符

 

// 全局变量:

HINSTANCE
hInst;                                // 当前实例(窗口)句柄

WCHAR
szTitle[MAX_LOADSTRING];                  // 标题栏文本

WCHAR
szWindowClass[MAX_LOADSTRING];            // 主窗口类名

// 此代码模块中包含的函数的前向声明:

ATOM                MyRegisterClass(HINSTANCE hInstance);
//注册窗体,在其中完成窗体的设计与注册

BOOL                InitInstance(HINSTANCE, int);//初始化实例(窗口)

LRESULT CALLBACK    WndProc(HWND, UINT, WPARAM, LPARAM);//回调函数

INT_PTR CALLBACK    About(HWND, UINT, WPARAM, LPARAM);//“关于”窗口的函数

 //主函数,注意这里是wWinMain说明程序是用Unicode编码的,
 //因此要注意不少函数被重新定义了
 //如MessageBox 里面的Constant Char 可以通过_T()来转化为LPCWSTR
int APIENTRY wWinMain(_In_ HINSTANCE hInstance,/*实例句柄*/

                     _In_opt_ HINSTANCE hPrevInstance,/*父亲实例句柄*/

                     _In_ LPWSTR    lpCmdLine,/*通过命令行启动时,自带的参数,是一个特殊的字符串型*/

                     _In_ int       nCmdShow/*是一种可利用或运算来增添特性的int,其中每一位的0/1都代表一种特性*/)

{

   //以下两行都是告诉编译器我已经用过了这个参数防止warning
   //如果要用到以下两种参数就需要进一步地定义
UNREFERENCED_PARAMETER(hPrevInstance);

   
UNREFERENCED_PARAMETER(lpCmdLine);

 

   
// TODO: 在此处放置代码。

 

   
// 初始化全局字符串

  //把IDS_APP_TITLE加载到szTitle中,缓冲区大小为MAX_LOADSTRING 
LoadStringW(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);

   
LoadStringW(hInstance, IDC_WINDOWSPROJECT2,
szWindowClass, MAX_LOADSTRING);

   
MyRegisterClass(hInstance);

 

   
// 执行应用程序初始化:
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值