API 学习笔记

API Windows 程序至少需要两个函数

一个是WinMain()  一个是消息处理函数WindowProc()

这两个函数是并列关系 都是有windows负责调用


WinMain()

WinMain()函数有四个形参,以及一个int返回类型

int WINAPI WinMain
(
HINSTANCE hInstance,
HINSTANCE hPreInstance,
LPSTR lpCmdLine,
int nCmdShow
);

返回类型int后面有一个WINAPI函数说明符,将使系统以一种特殊的方式处理函数名和实参

第一个参数 hInstance 是一个句柄, 指向正在运行的程序的句柄

第二个参数 hPreInstance 在32位系统已经完全失去意义

第三个参数 lpCmdLine 是指向某个字符串的指针,包含启动程序的命令行字符

第四个参数 nCmdShow  决定被创建窗口的外观. 可以是正常,最小化,或是其他. 数值由一系列 SW_开头的字符常量定义

WinMain()函数的功能有4个:

1.告诉windows要创建的窗口的种类

2.创建程序窗口

3.初始化程序窗口

4.获取属于该程序的windows消息


指定窗口种类

windows 定义了 WNDCLASSEX 的struct 类型来定义窗口类型

其结构如下:

struct WNDCLASSEX
{
UINT cbSize;
UINT style;
WNDPROC lpfnWndProc;
int cbClsExtra;
int cbWndExtra;
HINSTANCE hInstance;
HICON hIcon;
HCURSOR hCursor;
HBRUSH hbrBackground;
LPCTSTR lpszMenuName;
LPCTSTR lpszClassName;
HICON hIconSm;
};

创建窗口:

1.注册窗口 RegisterClassEX( &WindowClass );  或者调用 RegisterClass( &WindowClass );

2.创建窗口 CreateWindow() 可以添加一些窗口的附加属性

HWND hWnd; //定义一个窗口句柄

hWnd = CreateWindow(
szAppName, //窗口类的名称
" The Window Name ", //窗口的标题栏显示的字符串
WS_  ,  //窗口样式,
CW_  ,  //窗口左上角坐标的x值
CW_  ,  //窗口左上角坐标的y值
CW_  ,  //窗口宽度
CW_  ,  //窗口高度
0,  //父窗口句柄
0,  //菜单
hInstance,  //当前程序实例的句柄
0  //窗口创建数据, 当设计MDI(多文档界面, multiple-document interface)时会用到
);
还有一个CreateWindowEx() 函数 可以以扩充样式信息创建窗口


3.ShowWindow( hWnd, nCmdShow )  第二个参数是WinMain()的第四个实参,指示屏幕上显示窗口的形式





















  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值