摘要: PreTranslateMessage作用和使用方法PreTranslateMessage是消息在送给TranslateMessage函数之前被调用的,绝大多数本窗口的消息都要通过这里,比较常用,当需要在MFC之前处理某些消息时,常常要在这里添加代码.MFC消息控制流最具特色的地方是CWnd类的虚拟函数PreTranslateMessage(),通过重载这个函数,可以改变MFC的消息控制流程,甚至可以作一个全新的控制流出来。只有穿过消息队列的消息才受PreTranslateMessage()影响,采用SendMessage()或其他类似的方式向窗口直接发送的而不经过消息队列的消息根本不会理睬P 阅读全文
posted @ 2013-08-14 14:35 lemin 阅读(1262) 评论(0) 推荐(0) 编辑
摘要: YUV / RGB 格式及快速转换算法vcproj发表于 2012-05-26 18:09 | 来源:| 阅读 971 views1 前言 自然界的颜色千变万化,为了给颜色一个量化的衡量标准,就需要建立色彩空间模型来描述各种各样的颜色,由于人对色彩的感知是一个复杂的生理和心理联合作用 的过程,所以在不同的应用领域中为了更好更准确的满足各自的需求,就出现了各种各样的色彩空间模型来量化的描述颜色。我们比较常接触到的就包括 RGB / CMYK / YIQ / YUV / HSI等等。 对于数字电子多媒体领域来说,我们经常接触到的色彩空间的概念,主要是RGB , YUV这两种(实际上,这两种体系包含 阅读全文
posted @ 2013-07-24 14:00 lemin 阅读(353) 评论(0) 推荐(0) 编辑
摘要: 在示例程序中我们仍采用原库结构,数据库名Demo.mdb,库内表名DemoTable,表内字段名为Name(姓名)和Age(年龄)的两个字段,来构造示例程序操作所需的Access数据库,这也和上两篇文章的示例源码中的库结构相兼容。下面让我们看看ADO数据库访问技术使用的基本步骤及方法:首先,要用#import语句来引用支持ADO的组件类型库(*.tlb),其中类型库可以作为可执行程序(DLL、EXE等)的一部分被定位在其自身程序中的附属资源里,如:被定位在msado15.dll的附属资源中,只需要直接用#import引用它既可。可以直接在Stdafx.h文件中加入下面语句来实现:#import 阅读全文
posted @ 2013-04-19 09:23 lemin 阅读(990) 评论(0) 推荐(0) 编辑
摘要: VC++)一个比CBitmap更优秀的类今天查找如何实现DIB位图的背景透明的资料时,发现有论坛上有人问到CImage类的透明问题,于是对其很感兴趣。于是搜集了一些资料,发现以下内容对该类的介绍和使用介绍比较详细,于是就拷贝至此,以备后用。 以下内容摘自博客:http://hi.baidu.com/68400165/blog/item/f5d55508040e4fc83ac76343.html Visual C++的CBitmap类的功能是比较弱的,它只能显示出在资源中的图标、位图、光标以及图元文件的内容,而不像VB中的Image控件可以显示出绝大多数的外部图像文件(BMP、GIF、JPEG等 阅读全文
posted @ 2013-03-11 10:41 lemin 阅读(20483) 评论(1) 推荐(0) 编辑
摘要: MFC picture控件中显示图片PictureBox控件的主要作用是为用户显示图片。实际显示图片由Picture属性决定。Picture属性包括被显示的图片的文件名(及可选的路径名)。 注意窗体对象也具有Picture属性,通过设置该属性可直接在窗体背景上显示图片。 要在运行时显示或替换图片,可利用函数LoadPicture来设置Picture属性。提供图片文件名和可选路径名,由LoadPicture函数处理加载和显示图片的细节。 picMain.Picture = LoadPicture("VANGOGH.BMP") PictureBox控件具有AutoSize属性, 阅读全文
posted @ 2013-03-08 10:25 lemin 阅读(54165) 评论(1) 推荐(2) 编辑
摘要: 1、用图片控件 在对话框中加入Picture控件,属性页中General->Type设为Bitmap, Image中选中相关联的图片资源号。 这样就编译运行,你就会发现它己经可以了。 耶,不对,图片复盖了其它控件!怎么办? 哈哈,这是由于你的Picture控件是后面放上去的。这样它会显示在最上层,所以有些控件看不到了。有两种方法可以解决: (1)、选中所有控件Ctrl+A, 然后取消对图片控件的选择,将其它控件剪切Ctrl+X,再粘帖 Ctrl+C, 编译运行或Ctrl+T看看,是不是可以了? (2)、在.rc文件中找到此对话框的定义,此处以例子中的一对话框为例。 IDD_D... 阅读全文
posted @ 2013-03-04 09:41 lemin 阅读(3218) 评论(0) 推荐(0) 编辑
摘要: 动态切分窗口:动态切分窗口不能包含多于4个的窗格,要想得到4个以上的窗格,可以使用静态切分窗口。动态切分窗口中的几个窗格通常使用的是同一个视图类。创建动态切分窗口的方式共有3种:1、在创建应用程序时,利用应用程序向导AppWizard的选项设置切分窗口2、在创建了应用程序之后,通过添加组件对窗口进行切分3、通过手动添加代码编程的方式使用AppWizard创建动态切分:在MFC AppWizard Step 4 of 6对话框中,单击Advanced按钮,弹出Advanced Options对话框,选择Window Styles选项卡,选中该页的Use split window检查框。使用Spl 阅读全文
posted @ 2013-02-25 15:35 lemin 阅读(3555) 评论(0) 推荐(0) 编辑
摘要: DWORDGetTickCount(void);1) 定义For Release configurations, this function returns the number of milliseconds since the device booted, excluding any time that the system was suspended.GetTickCountstarts at 0 on boot and then counts up from there.在Release版本中,该函数从0开始计时,返回自设备启动后的毫秒数(不含系统暂停时间)。For Debug con 阅读全文
posted @ 2013-01-28 11:41 lemin 阅读(487) 评论(0) 推荐(0) 编辑
摘要: 一、顺序容器顺序容器插入操作:insert:有几个不同的成员函数能实现想顺序容器中插入项目。最重要的函数是insert,有下面三种重载形式:iterator insert(iterator here,value_type const& item)//在指定位置前插入item,并返回新插入项目的迭代器。void insert(iterator here,size_type n,value_type const& item)//在指定位置前插入n个item副本template<class inputIterator>void insert(iterator here,i 阅读全文
posted @ 2013-01-25 11:03 lemin 阅读(1482) 评论(0) 推荐(0) 编辑
摘要: 转:error LNK2005 已经在***.obj中定义2010-05-30 14:05:15|分类:默认分类|字号订阅为什么会出现这个错误??“error LNK2005: 已经在aaa.obj中定义” 收藏编程中经常能遇到LNK2005错误——重复定义错误,其实LNK2005错误并不是一个很难解决的错误。弄清楚它形成的原因,就可以轻松解决它了。 造成LNK2005错误主要有以下几种情况: 1.重复定义全局变量。可能存在两种情况: A、对于一些初学编程的程序员,有时候会以为需要使用全局变量的地方就可以使用定义申明一下。其实这是错误的,全局变量是针对整个工程的。正确的应该是在一个CPP文件中 阅读全文
posted @ 2013-01-21 15:13 lemin 阅读(800) 评论(0) 推荐(0) 编辑