VC++深入详解-第一章学习心得(一)

句柄是系统为资源分配内存的标识号。 相当于一个指针指向一块内存空间,我暂时理解成一个地址,一个门牌号

HWND 窗口句柄

HICON 图标句柄

HCURSOR 光标句柄

HBRUSH 画刷句柄

 

消息的结构体如下

/*

 * Message structure

 */

typedef struct tagMSG {

    HWND        hwnd;	//窗口句柄,用来标识窗口,指明这个消息是发给哪个窗口的

    UINT        message;	//消息标示符,方便记忆定义为WM_XXX的形式(windows message)如WM_LBUTTONDOWN表示鼠标左键按下	

    WPARAM      wParam;	//指定消息的附加信息也就是上述的message的附加信息

    LPARAM      lParam;	//同上,消息的附加信息

    DWORD       time;	//消息投递到队列中的时间

    POINT       pt;	//鼠标当前位置

#ifdef _MAC

    DWORD       lPrivate;

#endif

} MSG, *PMSG, NEAR *NPMSG, FAR *LPMSG;

 

消息分为进队消息和不进队消息,最终都被窗口过程函数处理。

WinMain是程序入口,结构如下:

WinMain(

    HINSTANCE hInstance,		//程序当前运行的实例的句柄(一个应用程序可以有多个实例,每运行一个实例就分配一个唯一的句柄值)

    HINSTANCE hPrevInstance,	//当前实例的句柄的前一个句柄,Win32状态下都为NULL

    LPSTR lpCmdLine,		//指定传递给应用程序的命令参数

    int nShowCmd			//指定应用窗口的显示情况(大小之类)

    );

 

窗体类的结构体

typedef struct tagWNDCLASSW {

    UINT        style;		//窗口样式 如CS_NOCLOSE 表示禁用系统菜单的关闭按钮

    WNDPROC     lpfnWndProc;	//函数指针,指向窗口过程函数

    int         cbClsExtra;		//表示附加窗口类内存空间,一般为0

    int         cbWndExtra;		//表示附加窗口内存空间,一般为0

    HINSTANCE   hInstance;		//窗口过程的程序的实例句柄

    HICON       hIcon;		//窗口类的图标句柄,LoadIcon加载

    HCURSOR     hCursor;		//窗口类的光标句柄,LoadCursor加载

    HBRUSH      hbrBackground;	//窗口类的背景画刷句柄,GetStockObject获取,获取后需要进行转换(HBRUSH)

    LPCWSTR     lpszMenuName;	//指定菜单资源的名字

    LPCWSTR     lpszClassName;	//指定窗体类的名字

} WNDCLASSW, *PWNDCLASSW, NEAR *NPWNDCLASSW, FAR *LPWNDCLASSW;



窗体类创建完成之后需要进行注册:RegisterClass(&wndcls);

注册完毕后就能创建窗口了。

 

由于时间问题,具体如何实现明天继续写~

 

你可能感兴趣的:(vc++)