MFC进阶(一)

句柄:资源的标识,通过句柄找到对应的资源。

typedef struct tagMSG {
  HWND   hwnd; 
  UINT   message; 
  WPARAM wParam; 
  LPARAM lParam; 
  DWORD  time; 
  POINT  pt; 
}
wParam,lParam消息的附加参数。DWORD消息被传递的时间。消息被投递时,光标所在的位置。

int WINAPI WinMain
(
HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow
)
hInstance:实例句柄。lpCmdLine:命令行参数。nCmdShow:显示的状态。
窗口的创建:
设计一个窗口类,注册,创建,显示!
DispatchMessage()把消息传给窗口回调函数。
WM_CHAR{wParam指的是ASIIC码}
HDC结构即设备上下文与设备打交道!
GetDC()获得DC,根据窗口的句柄,得到哪一个DC,就好比先选择一块画布,画完之后要ReleaseDC()
PostQuitMessage()就是发出一个WM_QUIT消息,然后GetMessage()函数接到以后返回0,进而结束进程,winmain返回0.
调用约定:_stdcall标准调用约定,也是Pascal调用约定。_cdecl是C语言的调用约定。
重载的条件:函数参数,个数不同!
protect在子类可以被访问,外部不可以访问!
构造函数:先调用父类的构造函数,再调用子类构造函数。
析构函数:先子类,后父类。
在子类可以向基类传参数,父类中只有一个有参构造函数时,fish():animal(400,300)
函数的覆盖是发生在父类与子类之间的!
Animal *p;
p = &fn;
p->breath();调用的是Animal中的breath()函数。
如果breath()为虚函数,那么就调用fish中的breath()函数。
含有纯虚函数的类我们叫做它为抽象类!纯虚函数:标明不具体实现的函数。等到派生类用的时候再定义!
防止头文件被重复包含!   #ifndef#define#endif


 

(1)

建立窗口类

 

 

WinMain()

是程序的入口

,

它相当于一个中介人的角色

,

把应用程序

(

指小窗口

)

介绍给

windows.

首要的一步是登记应用程序的窗口类

 

窗口种类是定义窗口属性的模板

,

这些属性包括窗口式样

,

鼠标形状

,

菜单等等

,

窗口种类也指

定处理该类中所有窗口消息的窗口函数

.

只有先建立窗口种类

,

才能根据窗口种类来创建

Windows

应用程序的一个或多个窗口

.

创建窗口时

,

还可以指定窗口独有的附加特性

.

窗口种

类简称窗口类

,

窗口类不能重名

.

在建立窗口类后

,

必须向

Windows

登记

 

建立窗口类就是用

WNDCLASS

结构定义一个结构变量

,

在这个程序中就是指

 

WNDCLASS wc 

然后用自己设计的窗口属性的信息填充结构变量

wc

的域

 

WinMain

登记窗口类

,

首先要填写一个

WNDCLASS

结构

,

其定义如下所示

 

 

 

 

typedefstruct _WNDCLASSA 

 

 

 

 

 

 

 

 

 

 

 

 

UINT style  

 

 

 

 

 

 

 

 

//

窗口类风格

 

 

 

 

 

 

 

WNDPROC lpfnWndProc  

 

 

 

//

指向窗口过程函数的指针

 

 

 

 

 

 

 

intcbClsExtra  

 

 

 

 

 

 

//

窗口类附加数据

 

 

 

 

 

 

 

intcbWndExtra 

 

 

 

 

 

 

 

//

窗口附加数据

 

 

 

 

 

 

 

HINSTANCE hInstance  

 

 

 

//

拥有窗口类的实例句柄

 

 

 

 

 

 

 

HICON hIcon  

 

 

 

 

 

 

 

//

最小窗口图标

 

 

 

 

 

 

 

HCURSOR hCursor  

 

 

 

 

 

//

窗口内使用的光标

 

 

 

 

 

 

 

HBRUSH hbrBackground 

 

 

 

//

用来着色窗口背景的刷子

 

 

 

 

 

 

 

LPCSTR lpszMenuName 

 

 

 

 

//

指向菜单资源名的指针

 

 

 

 

 

 

 

LPCSTR lpszClassName 

 

 

 

// 

指向窗口类名的指针

 

 

 

 

 

 

(1)

建立窗口类

 

 

WinMain()

是程序的入口

,

它相当于一个中介人的角色

,

把应用程序

(

指小窗口

)

介绍给

windows.

首要的一步是登记应用程序的窗口类



 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值