返回HCURSOR类型的光标句柄。
第一个参数表示当前应用程序的窗口句柄,第二个参数表示光标。
默认状态下,第一个参数为NULL,第二个为IDC_ARROW,表示使用系统默认提供的光标,可以在WinUser.h头文件中找到。
#define IDC_ARROW MAKEINTRESOURCE(32512)
*/
wndclass.hbrBackground = (HBRUSH)GetStockObject (WHITE_BRUSH);
/*
通过GetStockObject函数设置应用程序窗口的背景颜色。
HGDIOBJ GetStockObject(int fnObject);
函数返回HCURSOR类型的GDI对象句柄,为了程序能够正确执行,必须把HGDIOBJ类型强制转换成HBRUSH画刷句柄。
参数表示当前使用的画刷颜色。
这些常量的定义可以在WinGDI.h头文件中找到。
#define WHITE_BRUSH 0
#define LTGRAY_BRUSH 1
#define GRAY_BRUSH 2
#define DKGRAY_BRUSH 3
#define BLACK_BRUSH 4
#define NULL_BRUSH 5
#define HOLLOW_BRUSH NULL_BRUSH
*/
wndclass.lpszMenuName = NULL;
wndclass.lpszClassName = szAppName;//窗口类对象的名称
//-----------------------------------------------------------------------------------------
RegisterClass (&;wndclass);
/*
注册窗口类,参数为窗口类对象的指针。
函数原形为:
ATOM RegisterClass(CONST WNDCLASS *lpWndClass);
*/
//-------------------------- 实例化过程 -------------------------------------------------
HWND hwnd ; //创建用于保存窗口句柄的对象,窗口句柄是
系统识别不同窗口的依据,它只是个代号。
hwnd = CreateWindow(
szAppName, // 窗口类名称
"你好世界", // 窗口标题
WS_OVERLAPPEDWINDOW, // 窗口样式
CW_USEDEFAULT, // 初始的窗口x轴位置
CW_USEDEFAULT, // 初始的窗口y轴位置
CW_USEDEFAULT, // 初始的窗口x轴大小
CW_USEDEFAULT, // 初始的窗口y轴大小
NULL, // 父窗口句柄
NULL, // 窗口功能表句柄
hInstance, // 应用程序实例句柄
NULL // 建立参数,这个参数可以存取后面程序中可能引用到的资料。
);
/*
在窗口类对象的初始化过程中,我们定义了窗口的一些简单一般特征,比如背景颜色呀,光标呀,等等。
但是在利用CreateWindow创建窗口的时候可以设置更多的细节,比如窗口标题这些。
函数原形如下:
HWND CreateWindow( LPCTSTR lpClassName,
LPCTSTR lpWindowName,
DWORD dwStyle,
int x,
int y,
int nWidth,
int nHeight,
HWND hWndParent,
HMENU hMenu,
HINSTANCE hInstance,
LPVOID lpParam
);
一旦窗口创建成功,那么CreateWindow将返回窗口句柄,也就是窗口代号,值保存在窗口句柄对象hwnd中。
*/
ShowWindow(hwnd, iCmdShow);
/*
在执行过CreateWindow函数后,在系统的内部窗口已经创建成功了。
但为了要把窗口显示在桌面上,我们还必须调用ShowWindow函数。
其函数原形如下:
BOOL ShowWindow(WND hWnd,int iCmdShow);
参数1是需要显示的窗口句柄,第二个则是传递给WinMain的iCmdShow,用来确定最开