16,548
社区成员




#include <windows.h> // 头文件
INT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
// 窗口函数声明,这一函数将处理发往应用程序窗口的各种消息
char szClassName[]="windowclass1"; // 窗体结构的名称
char szAppTitle[]="chen"; // 窗口的标题
INT PASCAL WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR
lpszCmdParam,INT nCmdShow)// WinMain()函数的定义
{
HWND hMainWnd; // 窗口句柄
MSG msg; // 消息结构体
WNDCLASS myWC; // 窗口结构体
if(!hPrevInstance) // hPrevInstance表示前一应用程序实例句柄,
// 这一语句的作用是判断是否已有应用程序的
// 的实例在运行
// 应用程序在建立窗口之前,应先规定所要建立的窗口的特征,下面的一系列语句通过给窗口
// 结构体的数据成员赋值来规定所要建立的窗口的特征
{
myWC.style=CS_HREDRAW|CS_VREDRAW; // 窗口风格
myWC.lpfnWndProc=WndProc; // 本窗口的消息处理函数(窗口函数)
myWC.cbClsExtra=0; // 附加参数
myWC.cbWndExtra=0; // 附加参数
myWC.hInstance=hInstance; // 当前应用程序实例句柄
myWC.hIcon=LoadCursor(NULL,IDI_APPLICATION);
// 窗口图标
myWC.hbrBackground=GetStockObject(WHITE_BRUSH);
// 窗口背景色
myWC.lpszMenuName=NULL; // 窗口菜单
myWC.lpszClassName=szClassName; // 给窗体结构体命名
// CreateWindow()函数将根据窗口结构体
// 的名称来建立窗口
RegisterClass(&myWC); // 注册窗口
}
hMainWnd=CreateWindow(szClassName, // 窗体结构体的名称
szAppTitle, // 窗口的标题
WS_OVERLAPPEDWINDOW,//窗口风格为可重叠窗口
// 下面四个参数代表窗口左上角x,y坐标和窗口的宽度与高度,都使用默认值
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
// 下面参数分别为父窗口句柄、窗口菜单句柄、应用程序实例句柄和附加参数
NULL,NULL,hInstance,NULL);
ShowWindow(hMainWnd,SW_SHOWMAXIMIZED); // 显示最大化窗口
UpdateWindow(hMainWnd); // 更新窗口
// 下面用While()循环来建立消息循环
while(GetMessage(&msg,NULL,0,0)) // 获取消息,填充msg结构体
{
TranslateMessage(&msg); // 翻译键盘消息
DispatchMessage(&msg); // 向窗口函数发送消息,让窗口函数处理
}
return msg.wParam;
}
INT CALLBACK WndProc(HWND hMainwnd,UINT message,WPARAM wParam,LPARAM lParam)
{ // 窗口函数定义
char messageleft[]="the left button have been pushed";
char messageright[]="the right button have been pushed";
switch(message) // 判定消息标识符
{
case WM_RBUTTONDOWN:
{
MessageBox(GetFocus(),messageright,"chen",MB_OK|MB_ICONINFORMATION);
break;
}
case WM_LBUTTONDOWN:
{
MessageBox(GetFocus(),messageleft,"chen",MB_OK|MB_ICONINFORMATION);
break;
}
case WM_DESTROY: // 关闭应用程序窗口时发出的消息
{
PostQuitMessage(0); // 发出WM_QUIT消息,结束应用程序
return 0;
}
default :
break;
}
return DefWindowProc(hMainwnd,message,wParam,lParam);
// 其他没有处理的消息交给Windows做默认处理
}
#include <windows.h> // 头文件
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
// 窗口函数声明,这一函数将处理发往应用程序窗口的各种消息
char szClassName[]="windowclass1"; // 窗体结构的名称
char szAppTitle[]="chen"; // 窗口的标题
INT PASCAL WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR
lpszCmdParam,INT nCmdShow)// WinMain()函数的定义
{
HWND hMainWnd; // 窗口句柄
MSG msg; // 消息结构体
WNDCLASS myWC; // 窗口结构体
if(!hPrevInstance) // hPrevInstance表示前一应用程序实例句柄,
// 这一语句的作用是判断是否已有应用程序的
// 的实例在运行
// 应用程序在建立窗口之前,应先规定所要建立的窗口的特征,下面的一系列语句通过给窗口
// 结构体的数据成员赋值来规定所要建立的窗口的特征
{
myWC.style=CS_HREDRAW|CS_VREDRAW; // 窗口风格
myWC.lpfnWndProc=WndProc; // 本窗口的消息处理函数(窗口函数)
myWC.cbClsExtra=0; // 附加参数
myWC.cbWndExtra=0; // 附加参数
myWC.hInstance=hInstance; // 当前应用程序实例句柄
myWC.hIcon= LoadCursor(NULL,IDI_APPLICATION);
// 窗口图标
myWC.hbrBackground= (HBRUSH)GetStockObject(WHITE_BRUSH);
// 窗口背景色
myWC.lpszMenuName=NULL; // 窗口菜单
myWC.lpszClassName=szClassName; // 给窗体结构体命名
// CreateWindow()函数将根据窗口结构体
// 的名称来建立窗口
RegisterClass(&myWC); // 注册窗口
}
hMainWnd=CreateWindow(szClassName, // 窗体结构体的名称
szAppTitle, // 窗口的标题
WS_OVERLAPPEDWINDOW,//窗口风格为可重叠窗口
// 下面四个参数代表窗口左上角x,y坐标和窗口的宽度与高度,都使用默认值
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
// 下面参数分别为父窗口句柄、窗口菜单句柄、应用程序实例句柄和附加参数
NULL,NULL,hInstance,NULL);
ShowWindow(hMainWnd,SW_SHOWMAXIMIZED); // 显示最大化窗口
UpdateWindow(hMainWnd); // 更新窗口
// 下面用While()循环来建立消息循环
while(GetMessage(&msg,NULL,0,0)) // 获取消息,填充msg结构体
{
TranslateMessage(&msg); // 翻译键盘消息
DispatchMessage(&msg); // 向窗口函数发送消息,让窗口函数处理
}
return msg.wParam;
}
LRESULT CALLBACK WndProc(HWND hMainwnd,UINT message,WPARAM wParam,LPARAM lParam)
{ // 窗口函数定义
char messageleft[]="the left button have been pushed";
char messageright[]="the right button have been pushed";
switch(message) // 判定消息标识符
{
case WM_RBUTTONDOWN:
{
MessageBox(GetFocus(),messageright,"chen",MB_OK|MB_ICONINFORMATION);
break;
}
case WM_LBUTTONDOWN:
{
MessageBox(GetFocus(),messageleft,"chen",MB_OK|MB_ICONINFORMATION);
break;
}
case WM_DESTROY: // 关闭应用程序窗口时发出的消息
{
PostQuitMessage(0); // 发出WM_QUIT消息,结束应用程序
return 0;
}
default :
break;
}
return DefWindowProc(hMainwnd,message,wParam,lParam);
// 其他没有处理的消息交给Windows做默认处理
}