VC++学习

AfxGetApp()函数

获取当前App的CWinApp类指针

AfxRegisterWndClass函数

LPCTSTR AFXAPI AfxRegisterWndClass(UINT nClassStyle,HCURSOR hCursor = 0, HBRUSH hbrBackground = 0, HICON hIcon = 0);

返回值 LPCTSTR :

LP 代表指针、
C 代表常量、
T 代表根据是否定义UNICODE宏而分别define为char或wchar_t、
STR 代表字符串。

第一个参数为UINT nClassStyle常数,指定窗口类样式,定义窗口的某种操作特性;

窗口类样式(style)有,可自行选择,多个样式之间用 “|” 连接
一般设置为: CS_HREDRAW | CS_VREDRAW (水平和竖直发生变化时重绘 )

常量/值说明
CS_BYTEALIGNCLIENT在 (x 方向) 的字节边界上对齐窗口的工作区 。 此样式会影响窗口的宽度及其在显示器上的水平位置。
CS_BYTEALIGNWINDOW在 (x 方向) 的字节边界上对齐窗口 。 此样式会影响窗口的宽度及其在显示器上的水平位置。
CS_CLASSDC分配一个设备上下文,供类中的所有窗口共享。 由于窗口类是特定于进程的,因此应用程序多个线程可以创建同一类的窗口。 线程还可以尝试同时使用设备上下文。 发生这种情况时,系统只允许一个线程成功完成其绘图操作。
CS_DBLCLKS当用户双击鼠标位于属于该类的窗口中时,将双击消息发送到窗口过程。
CS_DROPSHADOW对窗口启用阴影效果。 通过 SPISETDROPSHADOW_ 打开和关闭效果。 通常,这为小型生存期窗口(例如菜单)启用,以强调它们与其他窗口的 Z 顺序关系。 从具有此样式的类创建的Windows必须是顶级窗口;它们可能不是子窗口。
CS_GLOBALCLASS指示窗口类是应用程序全局类。
CS_HREDRAW如果移动或大小调整更改了工作区的宽度,则重新绘制整个窗口。
CS_NOCLOSE禁用窗口菜单上的 "关闭 "。
CS_OWNDC为类中的每个窗口分配唯一的设备上下文。
CS_PARENTDC将子窗口的剪裁矩形设置为父窗口的剪裁矩形,以便子窗口可以绘制父窗口。 具有 CSPARENTDC_ 样式位的窗口从系统的设备上下文缓存接收常规设备上下文。 它不会为子级提供父级的设备上下文或设备上下文设置。 指定 CSPARENTDC_ 可增强应用程序的性能。
CS_SAVEBITS以位图形式保存此类窗口遮盖的屏幕图像部分。 删除窗口后,系统使用保存的位图还原屏幕图像,包括遮盖的其他窗口。 因此,如果位图使用的内存尚未丢弃,并且其他屏幕操作未使存储的图像失效,则系统不会将 WMPAINT_ 消息发送到隐藏的窗口。 此样式适用于小型窗口 (例如,菜单或对话框) 短暂显示,然后在其他屏幕活动发生前删除。 此样式增加了显示窗口所需的时间,因为系统必须首先分配内存来存储位图。
CS_VREDRAW如果移动或大小调整更改工作区的高度,则重新绘制整个窗口。

第二个参数为HCURSOR hCursor句柄,指定鼠标进入窗口时,光标形状;

由AfxGetApp()->LoadStandardCursor(IDC_WAIT)获取;

常量/值说明
IDC_APPSTARTING带小沙漏的标准箭头
IDC_ARROW标准箭头
IDC_CROSS十字光标
IDC_HANDwindows 2000:手型
IDC_HELP带问号的箭头
IDC_IBEAMi型标
IDC_ICONobsolete for applications marked version 4.0 or later.
IDC_NO禁止符号
IDC_SIZEobsolete for applications marked version 4.0 or later. use idc_sizeall.
IDC_SIZEALL十字箭头
IDC_SIZENESW指向东北和西南的双向箭头
IDC_SIZENS指向南和北的双向箭头
IDC_SIZENWSE指向西北和东南的双向箭头
IDC_SIZEWE指向东西的双向箭头
IDC_UPARROW上箭头
IDC_WAIT沙漏

第三个参数为HBRUSH hbrBackground句柄,指定窗口默认背景颜色;

可以传递一个画刷句柄,
也可以指定一个预定义的Windows系统颜色并加1,
颜色表接口是COLOR_3DFACE ;COLOR_3DFACE+1

第四个参数为HICON hIcon句柄,指定windows用来在桌面上、任务栏和其它地方代表应用程序的图标句柄;

可以自定义图标然后加载,也可以加载系统图标。

CreateEx函数

virtual BOOL CreateEx(DWORD dwExStyle, LPCTSTR lpszClassName,
LPCTSTR lpszWindowName, DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd, UINT nID,
LPVOID lpParam = NULL);
virtual BOOL CreateEx(DWORD dwExStyle, LPCTSTR lpszClassName,
LPCTSTR lpszWindowName, DWORD dwStyle,
int x, int y, int nWidth, int nHeight,
HWND hWndParent, HMENU nIDorHMenu, LPVOID lpParam = NULL);

第一个参数DWORD dwExStyle

指定要建立的窗口的扩展样式,引扩展样式包括所有的MFC样式。

第二个参数LPCTSTR lpszClassName

创建窗口的类名称,类的名称可以用全局AfxRegisterWndClass函数或预定义的注册任何类名称。

第三个参数LPCTSTR lpszWindowName

创建的窗口名称,为自定义字符串,如:“我的窗口”(含引号)

第四个参数DWORD dwStyle

指定的窗口样式属性。见窗口样式和所调用CWnd::描述值创建样式的所有值,用"|"将不同值连起来,如:OPUP |
WS_SYSMENU|WS_EX_TOOLWINDOW

第五个参数RECT& rect或者x,y,nWidth,nHeight

所要创建窗口的坐标、高度及宽度或都用矩形表示

第六个参数CWnd* pParentWnd

标识的父窗口或所属窗口。无父窗口时使用空值:“NULL”

第七个参数UINT nID

本窗口作为子窗口使用时的ID号。

第八个参数LPVOID lpParam = NULL

以由CREATESTRUCT结构lpCreateParams领域中引用的数据

第N个参数HMENU nIDorHMenu,

标识所创建窗口的菜单,可使用菜单ID:"IDR_MENU"或使用空值:“NULL”

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值