标题:
【博客大赛】VC++学习笔记二
[打印本页]
作者:
wxg1988
时间:
2013-9-6 14:02
标题:
【博客大赛】VC++学习笔记二
1
、
LRESULT
是
long
的宏定义,指返回结果为
long
类型;
2
、
CALLBACK
为回调函数,一般用
CALLBACK
用声明窗口过程函数。系统通过窗口过程函数的地址(指针)来调用窗口过程函数,而不是函数名字,这点需要注意。
3
、
LPSTR :
'L'代表Long,'P'代表Pointer(
指针
)
,
'STR'
表示
String
,被定义成一个指向
NULL
结尾的
32
位
ANSI
字符数组指针,跟
LPWSTR
是一样,不过后者是
64
位而已。
4
、
WNDCLASS:
在设计一个窗口,就必须指定窗口的特征。这个由
WNDCLASS
结构体来定义。这个结构体定义如下:
typedef struct _WNDCLASS {
UINT style;
//
定义窗口的变化情况,如关闭缩小等,有近十种样式,常用的有
//CS_HREDRAW
宽度重新描绘,
CS_VREDRAW
高度重新描绘,
CS_NOCLOSE
禁用关闭,
CS_DBLCLKS
双击发送消息
WNDPROC lpfnWndProc;
//
前缀 lpfn 表示该成员是一个指向函数的长
针,整个是指向窗口过程函数
int cbClExtra;
//
类附加内存空间,一般初始化为
0
int cbWndExtra;
//
窗口附加内存空间
HINSTANCE hInstance;
//
指定包含窗口过程的程序的实例句柄
HICON hIcon;
//
指定窗口类的图标句柄,必须是一个图标资源的句柄,若为
NULL
,则为默认图标
HCURSOR hCursor;
//
指定窗口类的光标句柄,即设定鼠标形状。
HBRUSH hbrBackground;
//handle to the class background brush,
就是说指定窗口类的背景画刷句柄
LPCTSTR lpszMenuName;
//
一个以空终止的字符串,指定菜单资源的名字
LPCTSTR lpszClassName;
//
一个以空终止的字符串,指定窗口类的名字
} WNDCLASS, *PWNDCLASS;
5
、举例如下:
//设计一个窗口类
WNDCLASS wndcls;
wndcls.cbClExtra = 0;
wndcls.cbWndExtra = 0;
wndcls.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);//黑色
wndcls.hCursor = LoadCursor(NULL,IDC_CROSS); //鼠标,默认是十字光标
wndcls.hIcon = LoadIcon(NULL,IDI_ERROR); //手形图标
wndcls.hInstance = hInstance_1; //应用程序实例句柄为hInstance_1
wndcls.hpfnWndProc = WinSunProc;
wndcls.lpszClassName = "hello2013";
wndcls.lpszMenuName = NULL;
wndcls.style = CS_HREDRAW| CS_VREDRAW;
RegisterClass(&wncls);
//篇后语——“飞言走笔”兄弟说我学得杂,呵呵,确实,学VC++不是我主攻硬件的方向,但是,我学它是利用晚上2个小时自己空闲的时间学的,白天要做其他重要的事情,因为我发现未来的工作中你多会一些,就会得到更宽的视野和发展空间。不是不专心,而是学无止境。硬件,还是我的最爱。
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0