|
学习目的
熟悉开发工具Visual C++ 6.0和MSDN 2001的使用. 应用Windows API函数, 手工编写具有最基本构成的Windows窗口应用程序(包含WinMain入口函数, 消息循环, 窗口函数), 并调试成功.
1.熟悉开发工具
熟悉开发工具visual studio的使用:
在visual studio中新建win32空项目
2.熟悉MSDN帮助的使用
练习使用MSDN查询windows相关函数信息
3. 应用Windows API函数, 手工编写具有最基本构成的Windows窗口应用程序(包含WinMain入口函数, 消息循环, 窗口函数)
程序代码如下:
#include<windows.h>
#include<tchar.h>
LRESULTCALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); //窗口函数说明
//------------ 初始化窗口类----------------
intWINAPI WinMain(HINSTANCEhInstance, //WinMain函数说明
HINSTANCEhPrevInst,
LPSTRlpszCmdLine,
intnCmdShow)
{
HWND hwnd;
MSG Msg;
WNDCLASS wndclass;
TCHAR lpszClassName[] = _T("窗口"); //窗口类名
TCHAR lpszTitle[] = _T("My_Windows"); //窗口标题名
//窗口类的定义
wndclass.style = 0; //窗口类型为缺省类型
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 = lpszClassName;
//窗口类名为"窗口示例"
//--------------- 窗口类的注册 -----------------
if (!RegisterClass(&wndclass)) //如果注册失败则发出警告声音
{
MessageBeep(0);
returnFALSE;
}
//创建窗口
hwnd = CreateWindow(lpszClassName, //窗口类名
lpszTitle, //窗口实例的标题名
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; //消息循环结束即程序终止时将信息返回系统
}
//窗口函数
LRESULTCALLBACK WndProc(HWNDhwnd,
UINTmessage,
WPARAMwParam,
LPARAMlParam)
{
switch (message){
caseWM_DESTROY:
PostQuitMessage(0); //调用PostQuitMessage发出WM_QUIT消息
default: //缺省时采用系统消息缺省处理函数
returnDefWindowProc(hwnd, message, wParam, lParam);
}
return (0);
}
编译并调试程序,
Windows窗口应用程序运行结果:
通过本次学习,熟悉了开发工具Visual C++ 6.0和MSDN 2001的使用.
通过应用Windows API函数, 手工编写Windows窗口应用程序了解了windows窗口应用最基本的构成:包含WinMain入口函数, 消息循环, 窗口函数……
|
|
|
|