#include<windows.h>
//
包含
windows.h
头文件
LRESULT
CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM ); //
窗口函数声明
/*
入口函数
WinMain()*/
int
APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine,
int
nCmdShow){
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; //
窗口默认无菜单
wndclass.lpszClassName
= "window
窗口创建
"; //
窗口类名为
window
窗口创建
/*
注册窗口类
*/
if(!
RegisterClass(&wndclass)) return FALSE;
/*
创建窗口
*/
hwnd =
CreateWindow("window
窗口创建
", //
窗口类名
window
窗口创建
"window
窗口创建
", //
窗口名
window
窗口创建
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,"
哈哈,
Windows
编程创建的窗口
!", 28); //
输出文本
EndPaint
(hwnd,&ps); //
结束要重画的窗口
return
0;
case
WM_DESTROY: //
撤销窗口消息处理
PostQuitMessage
(0); //
产生退出程序消息
WM_QUIT
return
0;
}
return
DefWindowProc (hwnd, message, wParam, lParam);
//
其他转默认窗口函数
}
分享到:
相关推荐
实例010——使用Windows API创建程序窗口.zip
一个使用Windows C++ API创建普通窗口的实例
9.3.2 创建窗口 251 9.3.3 窗口消息处理函数 253 9.3.4 窗口属性、位置和大小 256 9.3.5 窗口显示方式 257 9.3.6 线程消息队列和消息循环 258 9.4 图形用户界面:控件 258 9.4.1 Tree View控件 258 ...
9.3.2 创建窗口 251 9.3.3 窗口消息处理函数 253 9.3.4 窗口属性、位置和大小 256 9.3.5 窗口显示方式 257 9.3.6 线程消息队列和消息循环 258 9.4 图形用户界面:控件 258 9.4.1 Tree View控件 258 ...
主要介绍了Python使用Windows API创建窗口操作,结合实例形式分析了Python基于win32gui模块调用Windows API创建窗口具体操作步骤与相关实现技巧,需要的朋友可以参考下
一个Windows API程序的初始化主要分为为四个部分。1、窗口类的定义2、窗口类的注册3、创建窗口实例4、显示窗口
CreateScalableFontResource 为一种TureType字体创建一个资源文件,以便能用API函数AddFontResource将其加入Windows系统 DrawText 将文本描绘到指定的矩形中 DrawTextEx 与DrawText相似,只是加入了更多的功能 ...
实例010——使用Windows API创建程序窗口 实例011——使用AppWizard创建基于文档视图结构MFC应用程序框架 实例012——使用AppWizard建立对话框应用程序框架 实例013——实现查找、替换字符串 实例014——根据...
窗口类结构体中包括的数据:窗口实例句柄,窗口显示风格style,窗口过程函数(处理窗 口的所有响应的消息),窗口注册时额外的内存开销,窗口创建时额外的内存开销,窗口背 景,窗口菜单,窗口类名,图标句柄,鼠标...