自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

转载 C++类的静态成员变量一定要定义(分配内存)

我们知道C++类的静态成员变量是需要初始化的,但为什么要初始化呢。其实这句话“静态成员变量是需要初始化的”是有一定问题的,应该说“静态成员变量需要定义”才是准确的,而不是初始化。两者的区别在于:初始化是赋一个初始值,而定义是分配内存。静态成员变量在类中仅仅是声明,没有定义,所以要在类的外面定义,实际上是给静态成员变量分配内存。可以通过以下几个例子更形象的说明这个问题://test.c...

2019-12-30 16:27:01 171

原创 c++ 静态函数

1、对象与对象之间的成员变量是相互独立的.要想共用数据,则需要使用静态成员或静态方法2、只要在类中声明静态成员变量,即使不定义对象,也可以为静态成员变量分配空间,进而可以使用静态成员变量.(因为静态成员变量在对象创建之前就已经被分配了内存空间)3、静态成员变量虽然在类中,但它并不是随对象的建立而分配空间的,也不是随对象的撤销而释放(一般的成员在对象建立时会分配空间,在对象撤销时会释放...

2019-12-30 16:09:24 36

原创 C++中static类型的成员变量不能在构造函数中定义

类中的静态成员变量的初始化必须在类外实现!!类的定义是在头文件中,如果类的成员变量是static,static声明的成员变量是说明这个变量是属于整个类的,而不是某个对象的(除了单例模式,一个类都可以定义无数个对象),所以对static成员变量的定义/初始化不可以放在构造函数中(定义对象时才会调用的函数),只能放在类对应的源文件中函数之外的全局位置。在CUtilityTool类的.h文件:...

2019-12-30 15:38:17 357

原创 c++中类的构造函数的作用

构造函数的作用:初始化对象的数据成员。

2019-12-27 15:11:20 248

原创 GDI绘图中,SelectObject()函数作用

SelectObject()作用:选入一个GDI对象。同时会返回(选出)先前选入设备上下文的同类的GDI对象。CPen newPen;CPen *oldPen;newPen.CreatePen(PS_SOLID,2,RGB(192,192,192));//创建对象oldPen = pDC->SelectObject(&newPen);//将画笔选入设备描述表,并保存旧...

2019-12-24 09:59:18 130

原创 AFX_VIRTUAL

//{{AFX_VIRTUAL、/{{AFX_MSG、//{{AFX_MSG_MAP、//{{AFX_DATA_INIT 我们看到很多这样打头的代码,其中典型的一个,在你应用程序的 CApp 头文件中。对于类向导来说。这个符号才是有意义的。它是一个消息处理函数的前缀,类向导生成的消息函数,分发函数,事件响应函数都以这个为前缀.如果去掉了,向导将不能识别。些有规律的注释是类向导自动生成的格式...

2019-12-12 17:32:01 56

转载 自绘控件--对应的不同的消息,在对应的消息响应函数中绘制

1、按钮、标签、列表框(ListBox)、组合框(ComboBox)、菜单等,在父窗口的WM_DRAWITEM消息里绘制2、列表视图(ListView、ListCtrl)在WM_NOTIFY消息的NM_CUSTOMDRAW里绘制没有这些消息的再考虑WM_PAINT3、如果上述消息不能实现,所有窗口、子窗口都有WM_ERASEBKGND(绘制背景)、WM_PAINT(绘制内容)消息4、要...

2019-12-07 11:30:53 45

转载 子类化方法自绘按钮

1.新建一个基于对话框的MFC程序。2.在工程中添加一个新类CMyButton,基类选择CButton。3.然后转至新生成的MyButton.h头文件中,将鼠标放在类名CMyButton上点击一下,打开“属性”窗口,在“消息”按钮下为此类添加WM_LBUTTONDOWN,WM_LBUTTONUP消息,并重写DrawItem虚函数(这个函数是重绘按...

2019-12-06 13:39:06 71

原创 MFC 单文档应用程序 基本框架结构

本文将剖析基于MFC的框架程序,探讨MFC框架程序的内部组织结构,MFC是微软为了简化程序员的开发工作而设计的一套c++类集合,利用这些类有效地帮助程序员完成windows应用程序开发。主要类之间的关系 CTestApp类处理消息,将收到的消息分发给相应的对象。 CMainFrame是视图CTestView的父窗口,视图CTestView就显示在CMainFrame的客户区中。 ...

2019-12-05 15:00:27 491

原创 MFC视图View

从word中的“视图”去理解:这里包含了:全屏显示视图、阅读版式视图、写作模式视图、页面视图、大纲视图、Web版式视图。1.阅读视图:会隐藏一切多余的工具栏,常用工具栏里的阅读按钮,可以切换到阅读板式视图。关闭也一样,在工具栏里点击关闭就可以。2.页面视图是文档或者其他对象的一种视图。3.大纲视图用缩进文档标题的形式代表标题在文档结构中的级别。...

2019-12-05 13:44:14 52

原创 MFC:;父窗口、子窗口,窗体、窗口

一、每一个窗体form都是一个父窗口,它不是其他任一个窗体的子窗口。窗体上的所有控件,按钮等就是窗体的子窗口。一个窗口(除了窗体)既可能是父窗口,也可能是子窗口。比如窗体里面有一个frame,frame里面的控件就是frame的子窗口,但frame同时也是窗体的子窗口。就像容器里面装着容器,最大的那个容器就是窗体,每一个容器里面的东西就是其子窗口。二、窗口:概念更大,可以包含窗体...

2019-12-05 13:27:34 149

原创 MFC自绘控件

一、MFC自绘控件要了解Windows下的绘图操作,实现界面的美化,就必须了解MFC封装的设备环境类 和图形对象类。1.1 设备环境类MFC中的CDC类封装了Windwos API中的大部分的画图函数。CDC的常用的操作函数包括:*颜色和颜色调色板函数绘图属性函数映射函数坐标函数*区域函数剪切函数线输出函数简单绘图函数椭圆和多边形函数*位图函数...

2019-12-04 17:25:43 123

原创 焦点、光标位置、鼠标位置 区别

一、焦点:光标被激活的位置光标位置:小竖线/横线的位置 现在大部分的光标都为一个小竖线,规则的闪动; 而在DOS下有些光标则是短短的小横线,同样规则的闪动; 现用的windows光标是一个图像,可以是动态的也可以是静态的,在不同情况下样子也不同。鼠标位置:移动鼠标停下时的所在坐标位置二、焦点 概述当...

2019-12-04 14:54:57 358

原创 设备上下文/设备环境/显示场景

CDC类定义的是:设备上下文/设备环境对象 的类。通过CDC对象的成员函数:进行所有的绘图。CDC是MFC的DC的一个类;hDC是DC的句柄(一个类似指针的数据类型);MFC类的前缀都是C开头的H开头的大多数是句柄。使用CDC对象时要构造它,然后调用与它平等的、使用设备上下文的Windows函数的成员函数。...

2019-12-04 13:46:35 28

原创 PreCreateWindow()和OnCreate()、Create()的区别

1、在窗口的CWnd::Create()/CreateEx()调用返回前:要先调用PreCreateWindow(),对Create()/CreateEx()中的风格参数进行预处理设置。之后调用OnCreate进行实际的窗口创建,返回后,Create()/CreateEx()也返回,窗口创建结束。CWnd::Create()/CreateEx(){ PreCreateWi...

2019-12-03 16:23:44 63

转载 MFC单文档程序中C**APP文件的ProcessShellCommand(cmdInfo)函数功能解释

在我们用向导创建MFC应用程序时,在App::InitInstance()中总会出现下面这样的代码到底是什么意思呢,我差了很多资料终于使其漏出庐山真面目。CCommandLineInfo cmdInfo;//定义命令行ParseCommandLine(cmdInfo);//解析命令行// 调度在命令行中指定的命令。如果// 用 /RegServer、/Register、/Un...

2019-12-03 15:56:36 68

原创 MFC API:AfxRegisterWndClass(注册窗口类)

如果程序主窗口不是由CframeWnd派生而来,而是由CWnd派生而来,那么在创建窗口的时候,必须注册自己的WNDCLASS,因为CWnd::CreateEX不接受NULLWNDCLASS名称。这种情况下,注册WNDCLASS样式半建立窗口有两种方式。方式一,定义一个WNDCLASS结构实例,并对每个字段进行初始化,然后调用::RegisterClass或者MFC的全局函数AfxR...

2019-12-03 14:40:35 462

原创 静态方法对象的调用

c++中非静态函数不能用类名调用,类名只能调用 静态方法/对象

2019-12-03 11:07:54 160

空空如也

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除