编译器:VC++6.0
工作区创建
1、右上角“文件”----->创建,选择“Win32 Application”,输入工程名称;
2、点击“确定”,在弹出的窗口选中“一个简单的Win32 程序”,点击“完成”。
3、创建成功如图所示
窗口类结构体WNDCLASSEX:
typedef struct
{
UINT cbSize;
UINT style;
WNDPROC lpfnWndProc;
int cbClsExtra;
int cbWndExtra;
HINSTANCE hInstance;
HICON hIcon;
HCURSOR hCursor;
HBRUSH hbrBackground;
LPCTSTR lpszMenuName;
LPCTSTR lpszClassName;
HICON hIconSm;
} WNDCLASSEX, *PWNDCLASSEX;
1. cbSize : WNDCLASSEX 的大小。在调用GetClassInfoEx前必须要先设置它值。我们可以用sizeof(WNDCLASSEX)来获得准确的值。
2. style : 窗口类的样式,它的值可以是窗口样式值的任意组合。细看Win32窗口类样式WNDCLASS.style_lihan.cs的博客
3. lpfnWndProc 指向窗口处理函数(回调函数)。处理窗口事件,像单击鼠标会怎样,右击鼠标会怎样,都是由此函数控制的。
4. cbClsExtra 为窗口类的额外信息做记录,初始化为0。
5. cbWndExtra 记录窗口实例的额外信息,系统初始为0.如果程序使用WNDCLASSEX注册一个从资源文件里创建的对话框,则此参数必须设置为DLGWINDOWEXTRA
6. hInstance: 本模块的事例句柄。
7. hIcon 窗口类的图标,为资源句柄,如果设置为NULL,系统将为窗口提供一个默认的图标。
8. hCursor 窗口类的鼠标样式,为鼠标样式资源的句柄,如果设置为NULL,系统提供一个默认的鼠标样式。
9. hbrBackground 窗口类的背景刷,为背景刷句柄,也可以为系统颜色值,如果颜色值已给出,则必须转化为以下的HBRUSH的值
· COLOR_ACTIVEBORDER
· COLOR_ACTIVECAPTION
· COLOR_APPWORKSPACE
· COLOR_BACKGROUND
· COLOR_BTNFACE
· COLOR_BTNSHADOW
· COLOR_BTNTEXT
· COLOR_CAPTIONTEXT
· COLOR_GRAYTEXT
· COLOR_HIGHLIGHT
· COLOR_HIGHLIGHTTEXT
· COLOR_INACTIVEBORDER
· COLOR_INACTIVECAPTION
· COLOR_MENU
· COLOR_MENUTEXT
· COLOR_SCROLLBAR
· COLOR_WINDOW
· COLOR_WINDOWFRAME
· COLOR_WINDOWTEXT
10. lpszMenuName 指向一个以NULL结尾的字符串,同目录资源的名字一样。如果使用整型id表示菜单,可以用MAKEINTRESOURCE定义一个宏。如果它的值为NULL,那么该类创建的窗口将都没有默认的菜单。
11. lpszClassName 指向窗口类的指针,LPSTR类型。
12. hIconSm 小图标的句柄,在任务栏显示的图标,可以和上面的那个一样。
Win32窗口类样式WNDCLASS.style
Win32窗口类样式WNDCLASS.style_lihan.cs的博客-CSDN博客
CreateWindowEx详解
CreateWindowEx详解 - Please Call me 小强 - 博客园 (cnblogs.com)
LoadIcon的使用
LoadIcon的使用 - N3verL4nd - 博客园 (cnblogs.com)
函数MessageBox(NULL,"","",,MB_OK)
c语言窗体编辑框框函数,函数MessageBox(NULL,"","",,MB_OK);中参数作用
c# WndProc事件 消息类型
c# WndProc事件 消息类型_weixin_34272308的博客-CSDN博客
fatal error C1083
错误提示:
fatal error C1083: Cannot open precompiled header file: /'Debug/v13_3.pch/':
No such file or directory
在网上搜集了一下,这个错误是预编译文件的设置造成的,有几种可以尝试的途径:
1)单独编译StdAfx.cpp
2)编译所有(即按Ctrl+F7)
3)在工程-设置-c++-最下面的工程选项里去掉××。pch文件
4)在工程-设置-c++-在分类里选择预编译头文件,选择自动使用预补偿页眉,或者选择不使用预补偿头