- 博客(24)
- 资源 (1)
- 收藏
- 关注
原创 C++中的覆盖、重载与隐藏
c++中类本身之间的函数关系与基类和子类之间的函数关系有:覆盖、重载与隐藏。1>覆盖:C++中在基类用virtual定义的函数在子类中重新定义,此时称为覆盖,即子类对父类函数的覆盖。2>重载:同一个类中定义了多个同名但其形参不同的函数,这些同名函数之间为重载。3>隐藏:函数的隐藏有两种情况。第一,如果派生类的函数与基类的函数同名,但是参数不同。此时,不论有无virtual 关键字,基类
2015-07-28 15:21:58
482
原创 类的大小(sizeof(类))
首先,sizeof()计算的是一个对象在内存中占有多少字节而不是多少位。 我们自己定义一个类,声明一个类的对象之后进行编译运行,会有一个类的实例化过程,即在内存为该类的对象分配一块内存地址区域。#include#includeusing namespace std;class a {};class b{};class c:public a{ vir
2015-07-21 20:28:06
534
原创 基于TCP三次握手与四次挥手
TCP协议通讯下的窗口与滑动窗口的理解 服务器客户端建立连接时,服务器与客户端都会分配一块缓冲区来接收数据,每进行一次数据交互,客户端都会将自己剩余的缓冲区尺寸发送到服务器,服务器在放回家收数据的确认信息中也将自己剩余的缓冲区尺寸发送到客户端。 在TCP通讯中,剩余的缓冲区尺寸叫做窗口。 TCP通讯过程的流程控制为: TCP主机对主机层的传输控制
2015-07-20 16:04:37
520
原创 MFC单文档调整客户区大小
有时候经常要调整(修改/固定/动态)客户区大小,比如加载图片自动调整客户区大小为图片的大小.看起来这个很简单,好像一句MoveWindow就可以搞定单文档视图的客户区.其实里面有很多机关.首先我们第一想到的是在视图中调整大小.比如调整为500*500:int CChildView::OnCreate(LPCREATESTRUCT lpCreateSt
2015-07-09 21:00:02
4296
1
原创 MFC单文档设定窗口大小固定
设定窗口固定大小的方法很多:1.可以在窗口创建前修改串口的属性,即不设置WS_SIZEBOX属性,2.处理WM_MOVE消息,在其中用movewindow或setwindowpos来设置3.处理WM_SIZE消息,与WM_MOVE类似4.处理WM_GETMINMAXINFO消息,最大值和最小值设置为一样就可以了
2015-07-09 20:58:37
4064
原创 OpenGL辅助库基本使用
OpenGL是一个开放的系统,它是独立于任何窗口系统或操作系统的。尽管它包含了许多图形函数,但它却没有窗口函数,也没有从键盘和鼠标读取事件的函数,所以要初学者写出一个完整的图形程序是相当困难的。另外,OpenGL图形函数中只提供基本的几何原形:点、线、多边形,因此要创建基本的三维几何体如球、锥体等,也很不容易。而OpenGL辅助库就是为解决这些基本问题专门设计的,它提供了一些基本的窗口管理函数和三
2015-07-09 15:46:59
1183
转载 glViewport()函数和glOrtho()函数
在OpenGL中有两个比较重要的投影变换函数,glViewport和glOrtho。glOrtho是创建一个正交平行的视景体。 一般用于物体不会因为离屏幕的远近而产生大小的变换的情况。比如,常用的工程中的制图等。需要比较精确的显示。 而作为它的对立情况, glFrustum则产生一个透视投影。这是一种模拟真是生活中,人们视野观测物体的真实情况。例如:观察两条平行的火车到,在过了很远之后,这
2015-07-09 15:21:05
380
转载 glFlush,glFinish和SwapBuffers用法
OpenGL 绘图的机制是:先用 OpenGL 的绘图上下文 Rendering Context (简称为 RC )把图画好,再把所绘结果通过 SwapBuffer() 函数传给 Window 的绘图上下文 Device Context (简记为 DC)。要注意的是,程序运行过程中,可以有多个 DC,但只能有一个 RC。因此当一个 DC 画完图后,要立即释放 RC,以便其它的 DC 也使用。
2015-07-09 14:18:54
926
转载 glOrtho()函数
glOrtho是创建一个正交平行的视景体。 一般用于物体不会因为离屏幕的远近而产生大小的变换的情况。比如,常用的工程中的制图等。需要比较精确的显示。 而作为它的对立情况, glFrustum则产生一个透视投影。这是一种模拟真是生活中,人们视野观测物体的真实情况。例如:观察两条平行的火车到,在过了很远之后,这两条铁轨是会相交于一处的。还有,离眼睛近的物体看起来大一些,远的物体看起来小一些。
2015-07-09 13:53:54
4186
原创 glEnable
WINGDIAPI void APIENTRY glEnable (GLenum cap):GLenum 是unsigned int 类型cap 是一个取值。由值决定启用的功能键。各种功能请看参数cap的取值表说明:glEnable不能写在glBegin和glEnd两个函数中间。参数cap的取值类型值说明
2015-07-07 20:38:32
700
转载 CREATESTRUCT
C++是一种面向对象的可视化编程工具,它提供的AppWizard能自动生成应用程序的标准框架,大大减轻了编程的工作量。本文主要介绍如下的编程技巧:修改主窗口风格、创建不规则形状窗口、用鼠标单击窗口标题条以外区域移动窗口、使用上下文菜单、使应用程序只能运行一个实例、使应用程序显示为任务条通知区中的图标和显示旋转文本等。1. 修改主窗口风格AppWizard生成的应用程序框架的主窗口具有缺
2015-07-07 14:28:55
745
原创 MFC在VS2010中为ActiveX控件添加属性
ActiveX控件有四种属性:(1)Stock:为每个控件提供的标准属性,如字体或颜色。(2)Ambient:围绕控件的环境属性——已被置入容器的属性。这些属性不能被更改,但控件可以使用它们调整自己的属性。(3)Extended:这些是由容器处理的属性,一般包括大小和在屏幕上的位置。(4)Custom:由控件开发者添加的属性。 在VS2008下,
2015-03-03 14:08:58
2966
原创 VS2008和VS2010中禁用及卸载Visual Assist X
禁用和启用 此方法对于VS2008和VS2010 都适用。在VS2008或VS2010菜单栏中选择“VassistX”选项卡,找到“Enable/Disable Visual Assist X”选项,点击即可禁用。如图: 再次点击即可启用Visual Assist X 的提示功能。 卸载
2015-03-03 14:06:58
2380
转载 SQLServer2008远程连接
Vc++(MFC)实现SQL Server的远程连接(ADO实现) 一、ADO概述 ADO是Microsoft为最新和最强大的数据访问范例 OLE DB 而设计的,是一个便于使用的应用程
2015-03-03 14:04:05
431
原创 选择列表中的列无效,因为该列没有包含在聚合函数或 GROUP BY 子句中
T-SQL核心语句形式:SELECT --指定要选择的列或行及其限定 [INTO ] --INTO子句,指定结果存入新表FROM --FROM子句,指定表或视图[WHERE ] --WHERE子句,指定查询条件[GROUP BY ] --GROUP BY子句,指定分组表达式[HAVING
2015-03-03 14:01:00
5771
原创 修改列的属性default出错
在学习sql数据库过程中,遇到的问题:修改列的属性default出错更改列的属性时,要看一下该列之前是否允许空值(null)如果之前是不允许空值(not null)的话你这么改就对了而如果是允许空值(null)你这么改就会发生冲突,报错误 ----前提是该表中已经存在记录如果这样,在这你可以根据一楼说的那样更改一下 ,先删除列再添加列
2015-03-03 13:57:14
556
原创 L宏和T宏
_T是一个宏,定义于tchar.h下。作用是让你的程序支持Unicode编码. Windows使用两种字符集ANSI和UNICODE,前者就是通常使用的单字节方式,但这种方式处理象中文这样的双字节字符不方便,容易出现半个汉字的情况。而后者是双字节方式,方便处理双字节字符。Windows NT的所有与字符有关的函数都提供两种方式的版本,而Windows 9x只支持ANSI方式。如果
2015-03-03 13:48:32
1567
原创 vector或其他标准库容器类型形参
函数不应该有包括像vector或者其他标准库类型的形参,调用含有非引用类型的vector形参的函数将会复制vector中的每一个元素,将会导致内存资源浪费。应该考虑使用引用的形参类型,而引用形参在使用时可能会有意无意更改原来vector中的元素值,这就会导致原有数据的丢失。 数组有两个特征:一是数组不能复制,要想得到数组中的元素,必须将数组中的元素一一复制,二是使用数组名时,数组名会自动
2015-03-03 13:44:47
763
1
原创 WriteHuge 不是CFile的成员
win7、64位系统,将一个vc6编写的程序移植到vc10环境下,出现的错误:>c:\project\datapool.cpp(1843) : error C2039: 'WriteHuge' : is not a member of 'CFile'返回到CFile类的定义中,发现没有writehuge函数。在win7的64位系统下,.net的版本为3.5 SP1,不再支持wr
2015-03-03 11:25:10
753
转载 VC 背景填充位图的几种方法
VC 背景填充位图的几种方法 IDB_BG 是位图资源的ID方法一[c-sharp] view plaincopyOnEraseBkgnd(CDC* pDC) { // 设置画刷为希望的背景 CDC backBmp; backBmp.CreateCompatibleDC(pDC); CBitmap b
2014-10-09 10:48:41
825
原创 SetWindowLong和SetWindowPos
SetWindowPos函数功能:该函数改变一个子窗口,弹出式窗口式顶层窗口的尺寸,位置和Z序。子窗口,弹出式窗口,及顶层窗口根据它们在屏幕上出现的顺序排序、顶层窗口设置的级别最高,并且被设置为Z序的第一个窗口。 函数原型:BOOL SetWindowPos(HWN hWnd,HWND hWndlnsertAfter,int X,int Y,int cx,int cy,U
2014-09-24 12:57:35
509
原创 SetRegistryKey
SetRegistryKey 这个函数功能是设置MFC程序的注册表访问键,并把读写 ini 文件的成员函数映射到读写注册表。只要调用一下 SetRegistryKey 并指定注册表键值,那么下面6个成员函数,就被映射到进行注册表读取了~WriteProfileBinaryWrites binary data to an entry in the application'
2014-09-24 09:07:00
1170
原创 GetModuleFileName函数
函数原型:DWORD GetModuleFileName(HMODULE hModule,LPTSTR lpFilename,DWORD nSize);函数参数:hModule HMODULE 装载一个程序实例的句柄。如果该参数为NULL,该函数返回该当前应用程序全路径。lpFileName LPTSTR 是你存放返回的名字的内存块的
2014-09-23 14:41:03
574
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人