c++窗口程序模板

这是一个C++创建Windows窗口程序的基础模板,通过`WinMain`和`WndProc`函数实现窗口创建、消息处理。程序包含了窗口类的注册、窗口的创建、显示以及消息循环的处理。

#include <windows.h>

LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM);

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR szCmdLine, int iCmdShow)
{

static TCHAR szAppName[] = TEXT ("HelloWin") ;    //窗口类标题
HWND            hwnd;
MSG              msg;
WNDCLASS   wndclass;               //定义一个WNDCLASS型结构
UINT              nWight        = 320;    //窗口宽度
UINT              nHeight       = 400;    //窗口高度

wndclass.style                   = CS_HREDRAW | CS_VREDRAW ;                //窗口大小发生变化时自动刷新
wndclass.lpfnWndProc      = WndProc ;                                //设置窗口过程(fnp)
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 ;                                    //指定窗口菜单项NULL为空
wndclass.lpszClassName    = szAppName ;                            //窗口类名称,这里指想字符串数组


if (!RegisterClass (&wndclass))        //注册窗口类
{
MessageBox (NULL, TEXT ("程序运行失败!"),szAppName, MB_ICONERROR) ;
return 0 ;
}


hwnd = CreateWindow (szAppName,                  // RegisterClass注册的窗口类名
TEXT ("The Hello Program"), // 窗口标题
WS_OVERLAPPEDWINDOW,        // 窗口样式   *
CW_USEDEFAULT,                 // int x 窗口打开的X坐标
CW_USEDEFAULT,                 // int y 窗口打开的Y坐标
nWight,                     // int nWidth----窗口宽
nHeight,                     // int nHeight---窗口高
NULL,                       // parent window handle
NULL,                       // window menu handle
hInstance,                  // program instance handle
NULL) ;                     // creation parameters
 
//SetWindowLong(anniu,-4,(long)xiaoxi);




ShowWindow (hwnd, iCmdShow) ;        //在显示器上显示窗口
UpdateWindow (hwnd) ;                //绘制窗口


while (GetMessage (&msg, NULL, 0, 0))
{
//消息循环
TranslateMessage (&msg) ;    //将击键消息转换为字符消息
DispatchMessage (&msg) ;    //将消息回传给Windows,由Windows转发给适当的窗口过程
//这里的窗口过程为WndProc()函数
}
return msg.wParam ;
}


LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{

switch (message)
{


case WM_CREATE:
 return 0;

case WM_PAINT:return 0;

case WM_DESTROY:
PostQuitMessage (0) ;
return 0 ;

}

return DefWindowProc(hwnd,message,wParam,lParam); 

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值