vc/MFC编程
文章平均质量分 61
ccx_john
这个作者很懒,什么都没留下…
展开
-
BitBlt介绍
BitBlt介绍设备上下文绘图有很多种方法。例如通过创建位图画刷,利用其填充一个区域来实现图像的绘制。此外,还可以使用CDC类的位图函数来输出位图到设备上下文中。 BitBlt 用于从原设备中复制位图到目标设备,语法格式如下:BOOLBitBlt(int x,int y,int nWidth,int nHeight,CDC*pSrcDC,int xSrc,int y转载 2013-08-28 16:16:18 · 635 阅读 · 0 评论 -
VC slider滑度条控件用法
vc中滑动条(CSliderCtrl)是个常用的控件,用法如下:主要要方法有:1、设置、取得滑动范围: void SetRange( int nMin, int nMax, BOOL bRedraw = FALSE ); void GetRange( int& nMin, int& nMax ) const; 2、设置、取得按下左右箭头滑动间隔: int SetLi转载 2013-08-28 16:13:48 · 2177 阅读 · 0 评论 -
写新类让VC Slider控件,根据鼠标单击位置来显示滑块位置!
首先自己写一个MySlider类。。该类继承 CSliderCtrl类。。MySlider类响应LButtonDown消息来实现鼠标单击定位。。。 [cpp] view plaincopyprint?void MySlider::OnLButtonDown(UINT nFlags, CPoint point) { // TODO: Add your转载 2013-08-29 09:33:44 · 913 阅读 · 0 评论 -
用VC进行屏幕截取编程
屏幕截取是令人比较感兴趣的事情.虽然现在有不少应用程序如HYPERSNAP等可以用来截取你所喜欢的屏幕画面,但是如果能把这个功能加到自己的程序中,就更能利用它强大的作用.下面用VC来逐步介绍在Windows95下的实现过程.首先我们要确定屏幕截取的区域,用LPRECT结构来定义.可以截取一个窗口,或整个屏幕.以下代码把选定的屏幕区域拷贝到位图中.HBITMAP CopyScreenToBi转载 2013-09-14 14:29:36 · 897 阅读 · 0 评论 -
VC++6.0中的JPEG照片滚动程序
公司年会滚照片程序的实现,仅实现功能,不考虑界面,且照片的路径写死。功能的实现分为两部分,第一部分是读取JPEG的图片,第二部分屏幕滚动。图片读取的方式在网上又很多,是以流的形式来读取的,中间调用的一些类和函数我不是很明白,仅实现了功能。因为滚动的图片需要不断加载图片,所以如果没有释放掉之前的内存会造成内存飙升。屏幕滚动我使用的是Timer来完成的。下面是程序实现方法:新建一个转载 2013-09-29 16:31:51 · 776 阅读 · 0 评论 -
中用简易方法实现淡入淡出的启动画面
一日心血来潮,想给启动画面来个淡入淡出,于是去百度(www.baidu.com)查了半天,无果。但知道了AnimiateWindow 这个函数。好吧 ,让我们开始吧。首先,请在需要淡入淡出 窗口 的cpp文件或者stdafx.h加入下列代码(注意要加在#include前面哦,否则没有作用哦)。#undef WINVER //取消原有版本定义,重新定义版本 #define WINVER 0x转载 2013-09-14 14:25:10 · 1074 阅读 · 0 评论 -
文本语音转换入门
内容简介文本语音(Text-to-Speech,以下简称TTS),它的作用就是把通过TTS引擎把文本转化为语音输出。本文不是讲述如何建立自己的TTS引擎,而是简单介绍如何运用Microsoft Speech SDK 建立自己的文本语音转换应用程序。Microsoft Speech SDK简介Microsoft Speech SDK是微软提供的软件开发包,提供的Speech API (S转载 2013-09-14 17:07:38 · 772 阅读 · 0 评论 -
界面编程:vc美化界面
本文专题讨论VC中的界面美化,适用于具有中等VC水平的读者。读者最好具有以下VC基础: 1. 大致了解MFC框架的基本运作原理; 2. 熟悉Windows消息机制,熟悉MFC的消息映射和反射机制; 3. 熟悉OOP理论和技术; 本文根据笔者多年的开发经验,并结合简单的例子一一展开,希望对读者有所帮助。 1. 美化界面之开题篇相信使用过《金山毒霸》、《瑞星杀毒》软件的读转载 2013-09-15 13:13:00 · 1295 阅读 · 0 评论 -
VC图像编程
-- VC多媒体编程-- Visual C++中基于多文档视窗模型的重叠图象拼接技术摘要 图象拼接是在全景视频系统、地理信息系统等应用中经常遇到的一个问题,本文基于网格匹配的方法对边界部分有重叠的图象提出了一种行之有效的对准算法,并通过平滑因子对图象实现了无缝拼接。并应用文档视窗模型实现了该算法,并完成了位图文件的显示、存储等操作,具有一定的普遍意义。转载 2013-09-15 13:08:34 · 5461 阅读 · 0 评论 -
界面编程:如何制作透明窗体
如何制作透明窗体 使用SetLayeredWindowAttributes可以方便的制作透明窗体,此函数在w2k以上才支持,而且如果希望直接使用的话,可能需要下载最新的SDK。不过此函数在w2k的user32.dll里有实现,所以如果你不希望下载巨大的sdk的话,可以直接使用GetProcAddress获取该函数的指针。 SetLayeredWindowAttributes的函转载 2013-09-15 13:16:42 · 821 阅读 · 0 评论 -
vc显示jpg,gif图像简单方法
VC没有直接显示JPG图片的方法,在网上找了个比较简单的列子自己改了下,还挺好用,下面一个函数就行了[cpp] view plaincopyprint?ShowJpgGif(CDC* pDC,CString strPath, int x, int y) { IStream *pStm; CFileStatus fstatus;转载 2013-09-15 13:12:24 · 971 阅读 · 0 评论 -
界面编程:VC实现自绘窗体标题栏非客户区
本程序在VC03测试成功,效果, 图片素材:从BC1.bmp到第2页的UR_N.bmp1.准备工作:(1)得到文件夹中的位图句柄:首先要准备相应图片。HBITMAP bitmap;bitmap=(HBITMAP)::LoadImage(AfxGetInstanceHandle(), "skin//Test.bmp", IMAGE_BITMAP转载 2013-09-15 17:58:51 · 1495 阅读 · 0 评论 -
MFC控件:listbox控件用法详解
获取选中项的字符串:CString strText; int nIndex = m_listbox.GetCurSel();m_listbox.GetText(nIndex, strText);ListBox的操作比较简单1添加数据声明控件变量的类别为Control,变量类型为CListBox,变量名为m_Li转载 2013-09-15 10:27:57 · 32322 阅读 · 0 评论 -
MFC控件:ActiveMovie属性说明,使用资料
控件本身虽然是微软作的但还是觉得有些不足,有些接口提供的不够友好,用起来要自己建立函数,有些在较低版本的MSDN中都查不到,很麻烦啊。正文:实现该控件的注册 在VC里没有ActiveMovieControl Object这个控件"开始"->"运行"->"输入regsvr32 msdxm.ocx"->"确定"会弹出一个对话框说成功的!! 注册成功,进入VC Project转载 2013-09-15 10:49:06 · 1141 阅读 · 0 评论 -
橡皮筋类CRectTracker的使用
Windows自带的画图软件中可以用虚线框选择图像的某个区域,之后便可以拖动、放大、缩小该区域,这是通过橡皮筋类(CRectTracker)来实现的,它将实现用线框选中一个区域,并可以拖动、放大、缩小该区域。简介:CRectTracker类允许一个项被显示,移动,以不同的方式改变大小。虽然CRectTracker类是设计来支持用户以图形化界面与OLE项交互的,但是它的使用不仅限于支转载 2013-10-01 09:40:16 · 1126 阅读 · 0 评论 -
LomoX界面库-高仿QQ2011、QQ音乐盒等
本帖最后由 shawken 于 2012-11-13 09:23 编辑UI界面开发的新思想,不像传统的DirectUI的方式,而是以Html做为软件的界面布局,这种效果可以达到很多DirectUI达不到的效果,关键没难度。Windows 8 的Metro风格开发,也是采用了与此一致的思想,对于Windows 8,布局使用的是xaml,而对于本项目,界面是html.L转载 2013-09-16 14:56:04 · 1571 阅读 · 0 评论 -
轻松实现类VC界面
下图是一个类似VC的界面,左边、底下有两个可浮动、可变大小的控制窗口。许多朋友都希望在自己的程序中实现类似的界面,因为此种类型的界面用途很广、通用性很强,所以笔者总结了一下实现的步骤,辑此一文,并提供源代码供大家参考!bardemo.gif (7.14 KB, 下载次数: 11)下载附件 保存到相册2011-7-23 18:05 上传一转载 2013-09-16 10:59:06 · 894 阅读 · 0 评论 -
MoveWindow和SetWindowPos之异同!
MoveWindow只能设置窗口的大小和位置;SetWindowPos拥有MoveWindow的全部功能之外,还可以设置窗口的层叠关系(如,把指定的窗口放在所有窗口的最上层--always on top就可以用这个函数、或者把指定的窗口放在另一个窗口的下层,等等)。没有什么优缺点可言,只是功能上的大小有别。你完全可以不用MoveWindow,而只用SetWindowPos;但是,在只要设置转载 2013-09-17 08:31:39 · 1200 阅读 · 0 评论 -
OnDraw和OnPaint函数的区别
CWnd::OnPaint() 是CWnd类的成员函数,是WM_PAINT 消息的响应函数.当你调用CWnd::UpdateWindow(), CWnd::RedrawWindow()时, 或者窗口被其他窗口覆盖,改变大小等事件就会产生WM_PAINT 消息. 你可以在CWnd派生的子类中使用它.CView::OnDraw()是CView类的一个纯虚函数.你要使用,必须重载它. CVi转载 2013-09-17 08:32:53 · 787 阅读 · 0 评论 -
控件介绍:CToolTipCtrl
ToolTip是Win32中一个通用控件,MFC中为其生成了一个类CToolTipCtrl,总的说来其使用方法是较简单的,下面讲一下它的一般用法和高级用法。一般用法步骤:1. 添加CToolTipCtrl成员变量 m_tt。2. 在父窗口中调用EnableToolTips(TRUE);3. 在窗口的OnCreate(或者其他适当的位置)中向ToolTip中添加需要显示Tip的子转载 2013-09-17 09:18:49 · 659 阅读 · 0 评论 -
控件介绍:CToolTipCtrl使用详细解说
很多的界面设计都需要有Tip提示,下面描述一下Tip的简单使用方法: 1. 首先要New一个CToolTipCtrl的对象m_pContentTip 2. 调用CToolTipCtrl的create函数,指定其父窗口。可以为某个控件,也可以为this。一般设为this。m_pContentTip->Create( this, TTS_ALWAYSTIP );3. AddTool。此转载 2013-09-17 09:18:35 · 736 阅读 · 0 评论 -
转载:VC 界面库皮肤库
CJLib(mfc扩展开发包,是xtreme toolkit的前生,但xtreme toolkit收费了)http://www.codejock.com/BCGControlBar(收费,mfc扩展开发包,功能很强大)http://www.bcgsoft.comSkinMagic(收费,看起来像Office)http://appspeed.com/html/downlo转载 2013-09-17 09:06:15 · 810 阅读 · 0 评论 -
转载:谈谈VC 若干UI界面库
目前,第三方界面库的种类很多,我从网上查了下,大致有Xtrme toolkit,BCGControlBar,SkinMagic,AppFace,Skin++,Uskin++,SYGUI,LibUIDK,GuiToolkit,GardenUI等等,除了后两种一个是开源,一个是免费的外,其余的都是收费的。GuiToolkit(开源,类似Visual Studio 2003风格)http:/转载 2013-09-17 09:09:29 · 2024 阅读 · 0 评论 -
AfxEnableControlContainer()函数
AfxEnableControlContainer()函数是允许应用程序作为控件容器来使用 //mfc控件容器 mfc中用控件必须加上这句 Enable3dControls CWinApp::Enable3dControlsBOOL Enable3dControls( );BOOL Enable3dControlsStatic( );注意:在这个部分转载 2013-09-17 16:32:05 · 1444 阅读 · 0 评论 -
CRectTracker(橡皮筋)类的使用
CRectTracker(俗称“橡皮筋”类)是一个非常有意思的类。你在Windows中经常看到这样的情况:它可以用做显示边界,你也可以扽它的八个角用来放大缩小,或做框选使用。如何通过编程来实现这种功能呢?这就是CRectTracker类的作用; (框选) (显示边界并可以缩放)例子(源程序) 你打开上面转载 2013-10-03 15:45:02 · 550 阅读 · 0 评论 -
MFC自绘按钮的实现
自绘按钮的实现过程申明自绘属性进行VM_MESUREITEM事件响应,说明按钮的尺寸进行VM_DRAWITEM消息的重新响应,说明如何绘制按钮首先在vc6中新建工程,选择MFC并且新建dialog工程输入工程名,然后将生成的按钮等删除,重新添加两个按钮。为按钮设置属性选择自绘,就是自己向上贴图在dlg类的对象上添加WM_DRAWITEM属性在生成的O转载 2013-09-19 10:55:52 · 1182 阅读 · 0 评论 -
关于VC弹出选择文件夹对话框
VC编程中经常需要弹出选择文件夹对话框供用户选择目标文件夹基本实现的源码如下[cpp] view plaincopyprint?void CTestDlg::OnBtnTest() { // TODO: Add your control notification handler code here TCHAR pszPath[MAX_转载 2013-09-19 13:47:30 · 1868 阅读 · 0 评论 -
VC 文件操作(文件查找,打开/保存,读/写,复制/删除/重命名)
右击项目->属性->字符集:使用多字节字符集。这样可以使用char到CString的转化。char sRead[20] = ""; CString strtest = sRead;大气象转载 2013-09-19 15:24:57 · 1029 阅读 · 0 评论 -
VS或C#或.NET环境下的发送邮件实现方法
注:不包括VC6,对于.NET而言,从2.0开始,发邮件已经是一件非常easy实例" style="margin-top:0px; margin-right:0px; margin-bottom:0px; margin-left:0px; padding-top:0px; padding-right:0px; padding-bottom:0px; padding-left:0转载 2013-09-19 16:38:47 · 3864 阅读 · 0 评论 -
GDI+编程 -- 图像处理之DrawImage
Image和Bitmap类概述GDI+的Image类封装了对BMP、GIF、JPEG、PNG、TIFF、WMF(Windows元文件)和EMF(增强WMF)图像文件的调入、格式转换以及简单处理的功能。而Bitmap是从Image类继承的一个图像类,它封装了Windows位图操作的常用功能。例如,Bitmap::SetPixel和Bitmap::GetPixel分别用来对位图进行读写像素操作转载 2013-10-05 11:07:17 · 869 阅读 · 0 评论 -
IPicture使用代码
1、IPicture接口对象的创建 方法1:直接通过文件创建LPCSTR szFileUrl; IPicture *pIPicture; OleLoadPicturePath(CComBSTR(szFileUrl), (LPUNKNOWN)NULL, 0, 0, IID_IPicture, (LPVOID*)&pIPi转载 2013-10-05 17:29:18 · 832 阅读 · 0 评论 -
快速设计界面
介绍:http://www.muilib.com/index.html视频:http://www.muilib.com/demo_video.html下载:http://www.oschina.net/p/muilib转载 2013-10-05 16:35:10 · 611 阅读 · 0 评论 -
自绘按钮的实现
自绘按钮的实现作者:杜修杏下载本文示例工程如果你希望能够在自己的程序中表现出新意,那么你一定不会仅仅满足于MFC提供那些标准控件。这时,我们就必须自己另外多做些工作了。就改变控件外观这一点来说,主要是利用控件的自绘功能(Owner Draw)实现的。本篇将和各位一起定义一个XP风格的CXPButton按钮类,目的不在于介绍CXPButton类的使用技巧,而在于向各位阐述实现自绘按钮转载 2013-09-19 10:49:22 · 774 阅读 · 0 评论 -
抓屏示例
以下示例程序功能为:抓取整个屏幕并保存为D:\\1234.bmp[cpp] view plaincopyprint?#include #include using namespace std; // // 抓取屏幕图像存入DDB位图 // HBITMAP CaptureScreenToDDB() { HDC hdcScre转载 2013-09-20 09:12:16 · 766 阅读 · 0 评论 -
vs2010编译错误解决方法
1.在VC6下只要try{}catch(Exception ex){}在VS2010中要把项目设置加上支持公共语言支持库(/CLR),再添加代码:using namespace System; try { } catch(System::FormatException ^ex) //要^ { }原创 2013-09-20 15:22:33 · 965 阅读 · 0 评论 -
利用MAPI实现邮件收发(VC++)
今天看windows mobile的document关于MAPI这部分,在网上google了下,结果找到这篇,它不是winmobile的,而是普通的PC,不过MAPI的东西在这两个环境下思路大体相同,转了下面充数。原文发在csdn上。一、概述---- 本文主要讲述如何使用Visual C++用MAPI编写E-mail程序。MAPI是包含在Windows之中的,因此不需要安装其他额外转载 2013-09-21 10:33:53 · 2164 阅读 · 0 评论 -
VS2010环境下MFC,剪贴板“复制”程序。
其实这个是很简单也很常用的操作,网上有很多类似代码,我从网上的代码中作了一些修改并发出来作个参考。方便以后调用。当中原理看代码注释。 [cpp] view plaincopyprint?void CXXXDlg::EditCopy() { // TODO: 在此添加控件通知处理程序代码 CString strSource;转载 2013-09-21 12:42:34 · 903 阅读 · 0 评论 -
jmail接收邮件
[c-sharp] view plaincopyprint?private void ReciveByJmail() { /**/ ///建立收邮件对象 jmail.POP3Class popMail = new POP3Class(); /**/转载 2013-09-22 15:15:59 · 1137 阅读 · 0 评论 -
导入Active控件,可能用到的invokehelper
InvokeHelper 当在项目中插入ActiveX控件ClassWizard生成的CWnd的派生类C++类中,可以看到其成员函数的代码中都有对InvokeHelper函数的调用,InvokeHelper函数的第一个参数都和对应的属性或方法在ActiveX控件中的分发(dispatch)ID(标识ActiveX控件的方法或属性的)相对应。通过查看ActiveX控件hlp文件可以发现,Activ转载 2013-09-22 15:28:00 · 1436 阅读 · 0 评论 -
用IrisSkin2.dll美化你的窗体
在WinForm中,可以方便地给自己的程序添加皮肤,做出各种绚丽的效果,而只需要很简单的几句代码即可搞定,下面来领略下。前期准备:1、IrisSkin2.dll,这个是今天的主角2、Skin文件,后缀名为.ssk3、一个WinForm程序第一步:为WinForm的解决方案中添加IrisSkin2.dll的引用第二步:在窗口类中添加一个成员转载 2013-09-22 15:31:56 · 987 阅读 · 1 评论