自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (4)
  • 收藏
  • 关注

原创 输出BMP小结

代码都是在程序中截取的部分的较为关键性的内容 //创建兼容DC CDC *pDC = drawContext->pDC; int width = drawContext->viewRect.right / 2; int height = drawContext->viewRect.top / 2; CDC compatibleDC; compatibleDC.CreateComp

2017-12-28 16:34:50 369

原创 输出位图中BitBlt函数、GetDIBits函数中的使用

BOOL BitBlt (int x,int y,int nWidth,int nHeight,CDC*pSrcDC,int xSrc,int ySrc,DWORDdwRop)BitBlt 是把pSrcDC的数据复制到调用该函数的DC上int GetDIBits(HDC hdc, HBITMAP hbmp, UINT uStartScan, UINT cScanLines, L

2017-12-21 20:47:00 2682

翻译 兼容DC作用

如果直接在pDC上画很多线或者文字或者图片,那么你的显示区域就会闪动。闪动的原因是因为你的程序执行有先后,先画一个再画一个,少的时候不影响,当数据大时候就会非常明显。内存DC就很好的解决了这个问题,你所把有图形都画在内存DC上,再最后一起贴到pDC上,就不会闪了。这就是是所谓的双缓存。兼容DC也叫内存DC,就是内存中的一段buf,可以理解这段buf是给显卡用

2017-12-19 09:08:15 451

转载 MFC中函数GetWindowRect()和GetClientRect()的区别

http://blog.sina.com.cn/s/blog_962f1c150101g8uq.html通过例子来说明这两个函数的具体作用。创建一个基于Dialog的MFC应用程序工程Dialog,在对话框上添加一个按钮,其ID为IDC_BTN_ESCAPE:在DialogDlg.cpp中使用语句:[cpp] view plaincopy

2017-12-18 09:07:09 4015

转载 BITMAPFILEHEADER、BITMAPINFOHEADER及BMP结构详解

https://www.cnblogs.com/lzlsky/archive/2012/08/16/2641698.html位图BITMAPINFOHEADER 与BITMAPFILEHEADER:先来看BITMAPINFOHEADER,只写几个主要的    biSize包含的是这个结构体的大小(包括颜色表)    biWidth和biHeight分别是图片的长

2017-12-17 20:21:46 252

转载 如何把RGB函数的返回值还原成Red、Green、Blue

RGB函数就是(1*R+256*G+65536*B)方法一:colour=RGB(red,green,blue)red=colour And  &HFF  green= (Color  And  65280)  \  256  blue=(Color  And  &HFF0000)  \  65536方法二:  Option  Explicit

2017-12-14 16:15:14 2233

转载 DECLARE_SERIAL / IMPLEMENT_SERIAL 宏的技术详解

DECLARE_DYNAMIC表明的是支持类型信息, 有了这个宏,我们就可以判断一个类究竟是什么类,比如class A;class B:public A;A a;B b;现在有一个指针 class *pA 它指向一个对象, 请问你怎么知道pA指向的是a对象还是b对象,这是如果有类型信息,我们就可以知道pA到底是什么对象, 其实,它内部的实现原理是一个字符串,所以,进行这个判断时

2017-12-13 22:41:21 2473 2

转载 #ifndef 与 #program once

(转)来自:http://blog.csdn.net/hkx1n/article/details/4313357为了避免同一个文件被include多次,C/C++中有两种方式,一种是#ifndef方式,一种是#pragma once方式。在能够支持这两种方式的编译器上,二者并没有太大的区别,但是两者仍然还是有一些细微的区别。    方式一:    #ifndef __SOMEF

2017-12-11 15:56:21 506

转载 C++头文件、源文件的编译链接

一、C++编译模式通常,在一个C++程序中,只包含两类文件——.cpp文件和.h文件。其中,.cpp文件被称作C++源文件,里面放的都是C++的源代码;而.h文件则被称作C++头文件,里面放的也是C++的源代码。C+ +语言支持“分别编译”(separate compilation)。也就是说,一个程序所有的内容,可以分成不同的部分分别放在不同的.cpp文件里。.cpp文件里的东西都是相对独立的,...

2017-12-11 15:17:02 7384 1

转载 C++重写(覆盖)、重载、重定义、多态

C++重写(覆盖)、重载、重定义、多态1 重写(覆盖)override  override是重写(覆盖)了一个方法,以实现不同的功能。一般用于子类在继承父类时,重写(覆盖)父类中的方法。函数特征相同,但是具体实现不同。重写需要注意:被重写的函数不能是static的,必须是virtual的重写函数必须有相同的类型,名称和参数列表重写函数的访问修饰符可以

2017-12-08 15:41:14 184

转载 Invalidate()与UpdateWindow()

UpdateWindow( )的作用是使窗口立即重绘。调用Invalidate等函数后窗口不会立即重绘,这是由于WM_PAINT消息的优先级很低,它需要等消息队列中的其它消息发送完后才能被处理。调用UpdateWindow函数可使WM_PAINT被直接发送到目标窗口,从而导致窗口立即重绘。系统为什么不在调用Invalidate时发送WM_PAINT消息呢?又为什么非要等应用消息队列为空时才发送

2017-12-07 10:55:28 349

翻译 如果基类的析构函数不是virtual的,那么在派生类对象过期时,先调用自己的析构函数,接着会调用基类的析构函数吗?

不论基类的析构函数是否为virtual的,派生类的对象在过期时都是先调用自己析构函数,然后再调用基类的析构函数。另外:virtual的作用是“让基类能够正确调用派生类的函数”所以派生类自己(不管是对象还是指针)的析构根本不受virtual的影响,永远是“先调用自己的析构函数再调用基类的析构函数”析构函数使用virtual的作用是“当使用基类指针指向派生类的时候,delete该指

2017-12-07 09:23:50 1372

转载 vcxproj

sln是解决方案的配置,主要是管理这个方案里的多个vcxprojvcxproj是工程的配置文件,管理工程中细节比如包含的文件,引用库等一般没有sln,也可以直接打开vcxproj,也可以重新生成slnsln里有多个工程,当你移除某个工程时sln会有变化,sln并不是太重要

2017-12-05 10:27:15 4022

ffmpeg-windows.zip

ffmpeg-windows

2021-02-26

SIP信令标准软件

SIP信令标准软件

2020-10-21

空空如也

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

TA关注的人

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