摘要: 本程序下载地址: 要使文本在richedit控件上进行放大缩小,可以通过设置字体的大小,从而来达到缩放文本的目的。下面是一个例子:通过调整滚动条,从而控制richedit文本缩放。程序运行结果如下:首先在对话框的InitInstance函数中初始化richedit, 对话框才能显示出来AfxInitRichEdit();之后处理滚动条响应函数,从而来调整字体大小,实现缩放效果。//滚动条响应函数void CRichEditDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) { // TODO: Add yo... 阅读全文
posted @ 2014-04-04 12:27 VC初学者 阅读(558) 评论(0) 推荐(0) 编辑
摘要: 本程序下载地址: 上一篇讲述了tiff格式图片拆分成多张图片, 这篇博客讲述如何把多张任意格式的图片合成为一张图片。 图像合成仍然需要借助Cximage图像库,合成函数为Mixfrom, 函数原型为:void MixFrom(CxImage & imagesrc, long lXOffset, long lYOffset); 其中imagesrc表示原图,lXOffset,lYOffset表示原图需要被合成到目标图像的哪个位置。 例如: //合成图片 ImageDes.MixFrom(ImageSrc1, 0, 0); ImageDes.MixFrom(ImageSrc... 阅读全文
posted @ 2014-04-04 11:00 VC初学者 阅读(1077) 评论(0) 推荐(0) 编辑
摘要: 本程序下载地址: tiff格式的图片可以由多张图片合成, 也可以拆分为多张图片。不管是合成或者拆分,都借助了第三方开源库Cximage,对于这个图像库的使用,我们没有必要去一行一行的去看它的代码实现,我们只需要使用它提供出来的接口就可以了。下面先展示tiff图片的拆分,之后的博客再展示tiff格式图片的合成。 程序运行结果,点击Tiff分割按钮,将“D:\\src.tiff” 图片拆分为0.tiff, 1.tiff, 2.tiff三张图片。 图像拆分主要使用到Cximage类中的GetNumFrames,SetFrame成员函数,分别用来获取图像帧的个数,设置一帧。long Ge... 阅读全文
posted @ 2014-04-04 10:35 VC初学者 阅读(4188) 评论(0) 推荐(0) 编辑
摘要: 本程序下载地址: 在Windows下进行摄像头拍照功能开发,可以借助开源的摄像头项目或者一系列的demo。 本程序实现一个简单的拍照功能, 需要使用Cximage库,CCameraAPI库,这些都是开源的,我们可以直接使用它提供出来的接口就可以了。一、初始化摄像头过程 之前得再CTakephotoDlg类中创建一个私有的CCameraAPI 指针,并在CTakephotoDlg构造函数中置为空。class CTakephotoDlg : public CDialog{// Constructionpublic: CTakephotoDlg(CWnd* pParent = NUL... 阅读全文
posted @ 2014-04-04 10:04 VC初学者 阅读(632) 评论(0) 推荐(0) 编辑
摘要: 本程序下载地址: 类似于windows的复制、剪切、粘贴操作、我们也可以使用剪切板来实现这样的功能。 下面通过一个例子来演示:点击“复制” 按钮,可以把"D:\temp"文件夹放到剪切板, 右键选择粘贴,可以把该文件夹放到硬盘目录下。点击 “粘贴” 按钮,可以把"D:\temp"这个路径名显示到文本框中。 程序运行界面如下:复制按钮响应过程: 先建立一个自定义剪切板,用来存放复制或者剪切操作标识符号,判断是哪一种操作; 然后建立一个文件夹剪切板,头部存放一个DROPFILES结构大小内容,之后的空间用来存放文件夹列表 1 void CMyDlg::OnB 阅读全文
posted @ 2014-04-03 17:02 VC初学者 阅读(3563) 评论(0) 推荐(0) 编辑
摘要: 本程序下载地址: PDF是我们极其常用的文件格式,但对如何生成PDF,个人一直觉得很神秘,其实利用一些公开的PDF库,我们就可以直接生成PDF文件,而不用关注PDF文件的内部细节。我知道的PDF库有如CARIO和HARU。 HARU是一款免费的,跨平台的,开源的生成PDF的库。支持嵌入PNG、JPEG图片,支持CJK字体编码。用C语言编写,因此可以在C/C++中调用。HARU也提供了Ruby,Delphhi,和C#的捆绑(binding)。项目主页见http://libharu.sourceforge.net/index.html 对于HARU这个开源的PDF库,我们没必要深究具体代... 阅读全文
posted @ 2014-04-03 16:20 VC初学者 阅读(3676) 评论(0) 推荐(1) 编辑
摘要: 在使用VC开发项目过程中,界面是项目中的一个子模块。虽然界面并不那么重要,把握住核心功能就可以了,但界面美观与否直接关系到用户的体验, 因此我们也应该关注界面的处理。 我们可以在OnEraseBkgnd处理函数中,利用GDI绘图与双缓冲技术来设置背景。 在下面的这个程序中,在OnEraseBkgnd处理函数中直接设置对话框的显示背景,下图是运行结果。 通过创建一个和屏幕相关联的内存DC,并把位图选入内存DC中,然后在内存DC上进行绘图,绘图结束后把内存DC中的数据拷贝到屏幕DC,这样就可以在对话框上显示出设置好的背景。BOOL CMyDlg::OnEraseBkgnd(CDC *pD... 阅读全文
posted @ 2014-04-02 22:36 VC初学者 阅读(1485) 评论(0) 推荐(0) 编辑
摘要: 本程序下载地址: FTP(File Transfer Protocol)协议主要用来在网络上进行文件传输。FTP通讯除了有一个默认的端口21外,还有其他端口,同城两个端口同时进行数据传输。一个是默认的端口(通常为21),主要进行控制连接,即进行命令协议及服务器端响应码的传输。另一个非标准端口主要进行数据,上传下载文件等。 实现FTP协议,有两种方式,实用WinInet API和使用基本Winsock。对于一般应用,用WinInet效率要高,而且简单。也可以用Winsock来编写,这样更加灵活,但是复杂度高且需要对协议非常熟悉。 FTP是MFC的WinInet支持的三个Internet功能... 阅读全文
posted @ 2014-04-02 20:25 VC初学者 阅读(2395) 评论(0) 推荐(0) 编辑
摘要: 本程序下载地址: 通常设置对话框以及对话框上的各种控件的位置,可以直接在资源对话框那里进行手动来调整。 但这样做往往导致调整不精确,不能够很好的进行界面布局,对齐方式也不是很好。 同时对话框上的各控件资源可能会在放大、缩小、隐藏对话框的时候,控件资源隐藏了部分,或者全部都隐藏了。 对这种问题的解决方式就是在WM_SIZE消息处理函数中,通过编写代码的方式对各个控件进行调整。 用来调整对话框以及各个控件位置的函数就是:MoveWindow, 该函数原型如下:void MoveWindow(int x, int y, int nWidth, int nHeight, BOOL bRepai... 阅读全文
posted @ 2014-04-02 17:40 VC初学者 阅读(2042) 评论(0) 推荐(0) 编辑
摘要: 这段时间,对于下面的这些学习方法总是不能很好的去执行,要么会忘记,要么不理会,现在把他写出来,当自己忘记或者不理会的时候,给自己一个提醒。1、请不要跑得太快, 否则你将错过沿途的风景。 同样的,在我们编程过程中,这道理也是类似的。当我们为了看某本IT书籍的时候,急于把它看完,往往导致急躁的心里,沿... 阅读全文
posted @ 2014-03-04 00:33 VC初学者 阅读(1162) 评论(0) 推荐(0) 编辑