摘要: 先说下哈,有人说要源代码,源代码在博文《VC++开发垃圾文件清理软件之四:程序的界面设计与实现----按钮控件界面》的最后给出下载地址供大家下载。对应用程序界面的设计包括两部分,一部分是对话框自身的重设计,二是对话框控件的重绘,本程序主要对按钮控件进行重绘设计。1.绘制对话框的背景位图绘制对话框背景位图本文采用的是处理对话框的WM_PAINT消息,该消息初始化时候对对话框进行绘制,从而绘制背景位图。绘制背景位图的主要代码如下:CRect rect; CPaintDC dc(this); GetClientRect(&rect); //获取客户区 //设置对话框背景颜色... 阅读全文
posted @ 2013-03-22 09:14 Jamy Cai 阅读(801) 评论(0) 推荐(1) 编辑
摘要: 去年年底那会写了个很简单的垃圾文件清理器,现在简要分享下吧,由于本人初学者,望大家多多指教,先上个图吧:(在各大搜索引擎可以直接搜索到本软件,软件的名称为:小蔡垃圾清理器,源代码在最后给出下载地址:))。先说下哈,有人说要源代码,源代码在博文《VC++开发垃圾文件清理软件之四:程序的界面设计与实现----按钮控件界面》的最后给出下载地址供大家下载。下面就是详细介绍开发这个小程序的大体方法和步骤吧。程序是基于VC++程序设计与开发为背景,着重分析了垃圾文件清理原理和对话框程序界面的设计与开发原理,首先简要介绍VC++程序设计开发的基本方法;然后说明垃圾文件清理的原理和以绘制位图技术为背景的对话框 阅读全文
posted @ 2013-03-22 08:41 Jamy Cai 阅读(1469) 评论(0) 推荐(0) 编辑
摘要: 首先得配置好opencv,具体配置,我在《VS2010 下安装 OpenCV 2.3.1》这篇博文中已经讲了,vs2008的和vs2010的大同小异,大家可以具体配置下。下面还是直接上代码吧,呵呵:// helloopencv.cpp : 定义控制台应用程序的入口点。#include "stdafx.h"#include <cv.h>#include <highgui.h>#include <iostream>using namespace std;int main( int argc, char** argv ){ IplImage * 阅读全文
posted @ 2013-03-22 00:22 Jamy Cai 阅读(480) 评论(0) 推荐(0) 编辑
摘要: 下载OpenCV2.3.1 安装 (我的系统是windows 7 32位的)我的安装路径是C:\Program Files\OpenCV2.3.1打开VS20101.配置include 路径新建项目TestOpenCV,然后右键项目->属性,如下图:在包含目录加入C:\Program Files\OpenCV2.3.1\build\includeC:\Program Files\OpenCV2.3.1\build\include\opencvC:\Program Files\OpenCV2.3.1\build\include\opencv22.配置lib路径在库目录加入C:\Progra 阅读全文
posted @ 2013-03-18 20:56 Jamy Cai 阅读(893) 评论(0) 推荐(1) 编辑
摘要: 在MFC下编程,很多时候对于标准的按钮控件不是很满意,想要弄的美观些。这就需要按钮重绘。重绘按钮一般的实现方法就是重写CButton类。 首先给工程添加一个自绘按钮类MyDrawButton,基类为CButton。要想让按钮具备自绘功能,就要为按钮添加BS_OWNERDRAW属性。为类CButton重载PreSubclassWindow虚函数。在该函数中添加如下一行代码:SetButtonStyle(GetButtonStyle() | BS_OWNERDRAW); 当按钮控件具有了自绘功能之后,每次控件状态改变都会触发DrawItem函数,在该函数中来绘制按钮的形态外观,所以第二步就要重载D 阅读全文
posted @ 2013-03-17 20:58 Jamy Cai 阅读(2498) 评论(0) 推荐(0) 编辑
摘要: 在对话框重绘设计与实现过程中,一般需要绘制的对话框区域主要有标题部分、边框部分和客户区部分。具体的区域划分如下图所示。既然要对多个区域进行位图显示输出,所以我们先封装一个bmp位图显示输出函数如下:void CCTestDlg::ShowBmp(int x,int y,int w,int h,int nID){//nID 表示位图资源的ID CRect winRC; CDC* pDC=GetWindowDC(); CDC memDC; memDC.CreateCompatibleDC(pDC); BITMAPINFO bmpInfo; CBitmap bmp; GetWindowRect(&a 阅读全文
posted @ 2013-03-17 20:55 Jamy Cai 阅读(1975) 评论(0) 推荐(0) 编辑
摘要: 去年那会对MFC中对话框重绘进行了简单的了解,后来一直没有时间写,刚好现在有了博客园的自己博客,就在此写写,主要是实现对话框界面的重新自定义绘制,主要包括标题栏的重绘、对话框边框的重绘、对话框背景重绘、以及最小化按钮、最小化按钮和关闭按钮等的重绘实现,实现的编程平台是基于Microsoft Visual Studio 2008 集成开发环境,编程语言使用C++ 。源代码会在最后给出下载地址哈。好了,废话不说 ,切入正题!在对话框重绘中,使用的主要技术有两个,一个是绘制对话框的背景位图,在对话框大学改变时能够输出位图,使位图能够适应对话框的大小。另一个是在对话框的指定区域输出位图。1。绘制对话框 阅读全文
posted @ 2013-03-17 20:50 Jamy Cai 阅读(1569) 评论(0) 推荐(0) 编辑
摘要: C++中的友元包括友元函数和友元类。友元函数在前面章节类的使用中已经知道了,现在主要讨论友元类1.友元类:前面已经将友元函数用于类的扩展接口中,类并非只能友元函数的,也可以将类作为友元,即友元类。友元类的所有成员函数都是另一个类的友元函数,都可以访问另一个类中的隐藏信息(包括私有成员和保护成员)。当希望一个类可以存取另一个类的私有成员时,可以将该类声明为另一类的友元类。定义友元类的语句格式如下:friendclass类名;其中:friend和class是关键字,类名必须是程序中的一个已定义过的类。例如,以下语句说明类B是类A的友元类:classA{…public:friendclassB;…} 阅读全文
posted @ 2013-03-17 19:38 Jamy Cai 阅读(389) 评论(0) 推荐(0) 编辑
摘要: 引言:C++的一个主要目的是代码重用,提高效率,公有继承是实现这个目的的一种机制。还有其他的机制,本部分主要介绍其他代码重用方法,一种是包含、组合或层次化,另一种是私有或保护继承,通常组合、私有继承和保护继承哟国语实现has-a关系,即新的对类将包含另一个类的对象。还有一种就是和函数模板对应的类模板。1.包含对象成员的类:包含对象的类就是这样一种类:类中包含了这样的一个类成员:本身是另一个类的对象。这种方法称为包含、组合或层次化。C++和约束:C++包含让程序员能够限制程序结构的特性——使用explicit防止单参数构造函数的隐式转换,使用const限制方法修改数据等等。这样做的根本原因是:在 阅读全文
posted @ 2013-03-17 19:36 Jamy Cai 阅读(1316) 评论(0) 推荐(0) 编辑
摘要: 1.基类与派生类:从一个类派生出另一个类时,原始类称为基类,继承类称为派生类。基本语法是:classSubClassName:publicBaseClassName{};public表示公有派生,当然也有私有派生和受保护派生(private和protected)。派生类对象包含基类对象。使用公有派生,基类的公有成员将成为派生类的公有成员,基类的私有部分也将称为派生类的一部分,但只能通过基类的公有和保护方法访问。派生类不能直接访问基类的私有成员,而必须通过基类的的类方法进行访问。派生类构造函数:(1)基类对象首先被创建(2)派生类构造函数应通过成员初始化列表基类信息传递给基类构造函数:如:Rat 阅读全文
posted @ 2013-03-17 19:35 Jamy Cai 阅读(557) 评论(0) 推荐(0) 编辑