概述
#include
LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM);
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, IDI_APPLICATION); // 窗口用箭头光标
wndclass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); // 背景为白色
wndclass.lpszMenuName = NULL; // 窗口默认无菜单
wndclass.lpszClassName = "Chap1Exa1"; // 窗口类名为Chap1Exa1
if(!RegisterClass(&wndclass)) return FALSE; // 注册窗口类,失败则返回
hwnd = CreateWindow("Chap1Exa1", // 窗口类名
"Chap1Exa1", // 窗口名
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)) // 获取消息,遇WM_QUIT退出循环
{
TranslateMessage(&msg); // 键盘消息转换
DispatchMessage(&msg); // 消息给窗口函数
}
return msg.wParam;
}
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
HDC hdc; // 定义设备描述表句柄
PAINTSTRUCT ps; // 定义绘图信息结构变量
switch(message)
{
case WM_PAINT: // 重画窗口客户区消息
hdc = BeginPaint(hwnd, &ps); // 获取需重画窗口的设备描述表句柄
TextOut(hdc, 20, 60, "The First Windows Application Showing Window", 44); // 客户区坐标(20,60)处显示文本,限制为35个字母
EndPaint(hwnd,&ps); // 结束要重画的窗口
return 0;
case WM_DESTROY: // 撤销窗口信息
PostQuitMessage(0); // 产生退出程序消息WM_QUIT
return 0;
}
return DefWindowProc(hwnd,message,wParam,lParam); // 其他转默认窗口函数
}
运行结果:
最后
以上就是稳重机器猫为你收集整理的典型的Windows应用程序代码的全部内容,希望文章能够帮你解决典型的Windows应用程序代码所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复