百度
360搜索
搜狗搜索

mfc开发教程,vc++6.0创建使用opencv的MFC详细介绍

本文目录一览: MFC入门书籍

《VC++深入详解》和侯捷《深入浅出mfc》都是入门的必看书籍,没有哪个更好,看你更喜欢哪本书的表述方式。其它较好的书籍还有:
1、《windows程序设计》,讲win32 api的,了解了这个再看mfc会容易一点。
2、鸡啄米的《MFC教程》,对比学习,一般的控件基本都会用的。
3、《windows核心编程》,重中之重,要多看几遍。
MFC(英语:Microsoft Foundation Classes)是微软基础类库的简称,微软公司实现的一个c++类库,主要封装了大部分的windows API函数,vc++是微软公司开发的c/c++的集成开发环境,所谓集成开发环境,就是说利用它可以编辑,编译,调试,而不是使用多种工具轮换操作,灵活性较大。
MFC除了是一个类库以外,还是一个框架,在vc++里新建一个MFC的工程,开发环境会自动帮你产生许多文件,同时它使用了mfcxx.dll。xx是版本,它封装了mfc内核,所以你在你的代码看不到原本的SDK编程中的消息循环等等东西,因为MFC框架帮你封装好了,这样你就可以专心的考虑你程序的逻辑,而不是这些每次编程都要重复的东西。
由于是通用框架,没有最好的针对性,当然也就丧失了一些灵活性和效率。但是MFC的封装很浅,所以效率上损失不大。

vc++ mfc 剪贴板操作教程

本文主要介绍了VC++/MFC中如下内容的剪贴板操作:1、文本内容的操作2、WMF数据的操作3、位图的操作4、设置使用自定义格式5、感知剪贴板内容的改变6、自动将数据粘贴到另一应用程序窗口一、文本内容的操作下面的代码示范了如何将文本内容复制到剪贴板(Unicode编码的先转化为ASCII):CString source;//文本内容保存在source变量中if( OpenClipboard() ){HGLOBAL clipbuffer;char * buffer;EmptyClipboard();clipbuffer = GlobalAlloc(GMEM_DDESHARE, source.GetLength()+1);buffer = (char*)GlobalLock(clipbuffer);strcpy(buffer, LPCSTR(source));GlobalUnlock(clipbuffer);SetClipboardData(CF_TEXT,clipbuffer);CloseClipboard();}下面的代码显示了如何从剪贴板上获得文本内容:char * buffer = NULL;//打开剪贴板CString fromClipboard;if ( OpenClipboard() ){HANDLE hData = GetClipboardData(CF_TEXT);char * buffer = (char*)GlobalLock(hData);fromClipboard = buffer;GlobalUnlock(hData);CloseClipboard();}二、WMF数据的操作在剪贴板上读写图象数据是非常有用的功能,并且实现起来也很简单。下面的代码显示了如何将扩展图元文件复制到剪贴板:if(OpenClipboard());{EmptyClipboard();//创建图元文件DCCMetaFileDC * cDC = new CMetaFileDC();cDC-CreateEnhanced(GetDC(),NULL,NULL,"the_name");//调用绘图例程//关闭CMetafileDC并获得它的句柄HENHMETAFILE handle = cDC-CloseEnhanced();//复制到剪贴板SetClipBoardData(CF_ENHMETAFILE,handle);CloseClipboard();//删除dcdelete cDC;}下面的代码演示了从剪贴板获得图元文件并将其绘制到client DC上:if(OpenClipboard()){//获得剪贴板数据HENMETAFILE handle = (HENMETAFILE)GetClipboardData(CF_ENHMETAFILE);//显示CClientDC dc(this);CRect client(0,0,200,200);dc.PlayMetaFile(handle,client);//关闭剪贴板CloseClipboard();}三、位图的操作位图的操作稍微复杂一点,下面这个例子显示了如何在剪贴板保存位图:if(OpenClipboard()){EmptyClipboard();CBitmap * junk = new CBitmap();CClientDC cdc(this);CDC dc;dc.CreateCompatibleDC(cdc);CRect client(0,0,200,200);junk-CreateCompatibleBitmap(cdc,client.Width(),client.Height());dc.SelectObject(junk);DrawImage(dc,CString("Bitmap"));//复制数据到剪贴板SetClipboardData(CF_BITMAP,junk-m_hObject);CloseClipboard();delete junk;}下面的代码显示了如何从剪贴板上获得位图数据:if(OpenClipboard()){//获得剪贴板数据HBITMAP handle = (HBITMAP)GetClipboardData(CF_BITMAP);CBitmap * bm = CBitmap::FromHandle(handle);CClientDC cdc(this);CDC dc;dc.CreateCompatibleDC(cdc);dc.SelectObject(bm);cdc.BitBlt(0,0,200,200,dc,0,0,SRCCOPY);CloseClipboard();}四、设置并使用自定义格式使用RegisterClipboardFormat()函数,可以复制和粘贴任何你需要的数据类型。比如我们有以下一个数据类型:struct MyFormatData{long val1;int val2;};我们要把它复制到剪贴板,可以使用如下的代码:UINT format = RegisterClipBoardFormat("MY_CUSTOM_FORMAT");if(OpenClipboard()){MyFormatData data;data.val1 = 100;data.val2 = 200;HGLOBAL clipbuffer;EmptyClipboard();clipbuffer = GlobalAlloc(GMEM_DDESHARE, sizeof(MyFormatData));MyFormatData * buffer = (MyFormatData*)GlobalLock(clipbuffer);//保存到内存*buffer = data;//保存到剪贴板GlobalUnlock(clipbuffer);SetClipboardData(format,clipbuffer);CloseClipboard();}读取数据使用以下代码:UINT format = RegisterClipboardFormat("MY_CUSTOM_FORMAT");MyFormatData data;if(Openclipboard()){HANDLE hData =GetClipboardData(format);MyFormatData * buffer = (MyFormatData*)GlobalLock(hData);data = *buffer;GlobalUnlock(hData);CloseClipboard();}五、感知剪贴板内容的改变通过Windows消息可以感知剪贴板内容是否发生改变,代码如下://In your initialization code call:SetClipboardViewer(); //将我们的程序添加到剪贴板观察链//In your message map add:ON_MESSAGE(WM_DRAWCLIPBOARD, OnClipChange) //添加Message handle//Which is declared as:afx_msg void OnClipChange();Finally implement:void CDetectClipboardChangeDlg::OnClipChange(){CTime time = CTime::GetCurrentTime();SetDlgItemText(IDC_CHANGED_DATE,time.Format("%a, %b %d, %Y -- %H:%M:%S"));DisplayClipboardText();}六、自动将数据粘贴到另一应用程序窗口只需获得相应窗口的句柄,并发送一个消息就可以了

C++ mfc 新建excel文件

本文简略介绍在VC++6.0中如何使用Excel2003的库函数并对其进行编程。先创建一个对话框工程,命名为VCExcel。在对话框中添加一个按钮,控件ID为ID_RUNEXCEL。 再在该按钮上添加消息BN_CLICKED,其消息映射函数为OnRunexcel()。通过一个实例来说明VC是如何调用Excel2003的接口编程的。 要编程输出一个如下表格。 格式如下: 1、表头的字体为宋体,加粗,颜色为白色,底色为深蓝,垂直水平居中对齐; 2、表中正文内容字体为宋体,颜色为深蓝,底色为灰色,垂直水平居中对齐; 3、全部边框,文本自动换行。 在BOOL CVCExcelApp::InitInstance()之中,int nResponse = dlg.DoModal()语句之后加入如下代码:
if(CoInitialize(NULL)==0)//初始化COM库 { AfxMessageBox("初始化COM失败!"); exit(1); }在return FALSE;语句之前加入:::CoUninitialize();//释放COM库。 为了能调用Excel的接口我们打开MFC ClassWizard->Automation->Add Class->From a type library,选择[Excel的安装路径]\EXCEL.exe,然后把所有的类都添加进去,头文件为excel.h,源文件为excel.cpp。当然,你也可以只把一些比较常用的类如_Application、Workbooks、_Workbook、Worksheets、_Worksheet、Range加进去,因为网上流传的绝大部分教程都只添加这几个类,这完全根据你个人的需要。但在本例中我们至少还要用到Interior类(设置底色),Font类(设置字体),而且这样做又简单又方便扩展功能,不管三七二十一全部弄进去吧!但这样做会有一个问题,有可能产生类的名字冲突,例如本来你自己写了一个类叫Font,当你全部添加时又再次加入了Font类,这样就重复定义了,不过可以通过名字空间来解决这个问题。再在VCExcelDlg.cpp文件的头部添加(如果系统已经自动添加就不要重复添加了):
#include "VCExcel.h" #include "comdef.h"这样一来我们的程序就可以自由调用EXCEL了,一切准备就绪。 下面先在CVCExcelDlg中添加如下成员变量,用来操控Excel应用程序、工作簿和单元格。 A
Range m_ExlRge; _Worksheet m_ExlSheet; Worksheets m_ExlSheets; _Workbook m_ExlBook; Workbooks m_ExlBooks; _Application m_Exl;
我们利用加载Excel模板来生成要求的表格,在本工程Debug文件夹中建立一个Excel文件,命名为Template.xls。我们的OnRunexcel()代码如下(详见注释):
void CVCExcelDlg::OnRunexcel() { // TODO: Add your control notification handler code here //用m_ExlApp对象创建Excel2003进程 if(!m_ExlApp.CreateDispatch("Excel.Application",NULL)) { AfxMessageBox("创建Excel服务失败!"); return; } //设置为可见 m_ExlApp.SetVisible(TRUE); ///////////////////下面得到应用程序所在的路径/////////////////// CString theAppPath,theAppName; char Path[MAX_PATH]; GetModuleFileName(NULL,Path,MAX_PATH);//得到应用程序的全路径 theAppPath=(CString)Path; theAppName=AfxGetApp()->m_pszAppName; theAppName+=".exe"; //把最后的文件名去掉 int length1,length2; length1=theAppPath.GetLength(); length2=theAppName.GetLength(); theAppPath.Delete(length1-length2,length2); //////////////////////////////////////////////////////////////// CString TempPath=""; TempPath=theAppPath+"Template.xls";//EXCEL模板的路径 m_ExlBooks.AttachDispatch(m_ExlApp.GetWorkbooks(),TRUE); m_ExlBook.AttachDispatch(m_ExlBooks.Add((_variant_t)TempPath),TRUE);//加载EXCEL模板 m_ExlSheets.AttachDispatch(m_ExlBook.GetSheets(),TRUE);//加载Sheet页面 //添加新的Sheet页面 m_ExlSheets.Add(vtMissing,vtMissing,_variant_t((long)1),vtMissing); //删除第二个Sheet页面 m_ExlSheet.AttachDispatch(m_ExlSheets.GetItem(_variant_t((long)2)),TRUE); m_ExlSheet.Delete(); //把第一个Sheet页面的名字改变为TestSheet m_ExlSheet.AttachDispatch(m_ExlSheets.GetItem(_variant_t((long)1)),TRUE); m_ExlSheet.SetName("TestSheet"); ///////合并第一行单元格A1至D1////// //加载要合并的单元格 m_ExlRge.AttachDispatch(m_ExlSheet.GetRange(_variant_t("A1"),_variant_t("D1")),TRUE); m_ExlRge.Merge(_variant_t((long)0)); ////////设置表格内容//////// m_ExlRge.AttachDispatch(m_ExlSheet.GetCells(),TRUE);//加载所有单元格 m_ExlRge.SetItem(_variant_t((long)1),_variant_t((long)1),_variant_t("数学系研究生课程统计")); m_ExlRge.SetItem(_variant_t((long)2),_variant_t((long)1),_variant_t("课程名")); m_ExlRge.SetItem(_variant_t((long)2),_variant_t((long)2),_variant_t("课时")); m_ExlRge.SetItem(_variant_t((long)2),_variant_t((long)3),_variant_t("难度")); m_ExlRge.SetItem(_variant_t((long)2),_variant_t((long)4),_variant_t("教学方式")); m_ExlRge.SetItem(_variant_t((long)3),_variant_t((long)1),_variant_t("泛函分析")); m_ExlRge.SetItem(_variant_t((long)3),_variant_t((long)2),_variant_t("60")); m_ExlRge.SetItem(_variant_t((long)3),_variant_t((long)3),_variant_t("普通")); m_ExlRge.SetItem(_variant_t((long)3),_variant_t((long)4),_variant_t("老师讲课")); m_ExlRge.SetItem(_variant_t((long)4),_variant_t((long)1),_variant_t("微分流形")); m_ExlRge.SetItem(_variant_t((long)4),_variant_t((long)2),_variant_t("40")); m_ExlRge.SetItem(_variant_t((long)4),_variant_t((long)3),_variant_t("变态难")); m_ExlRge.SetItem(_variant_t((long)4),_variant_t((long)4),_variant_t("自学")); m_ExlRge.SetItem(_variant_t((long)5),_variant_t((long)1),_variant_t("二阶椭圆型方程与方程组")); m_ExlRge.SetItem(_variant_t((long)5),_variant_t((long)2),_variant_t("60")); m_ExlRge.SetItem(_variant_t((long)5),_variant_t((long)3),_variant_t("很难")); m_ExlRge.SetItem(_variant_t((long)5),_variant_t((long)4),_variant_t("讨论")); m_ExlRge.AttachDispatch(m_ExlSheet.GetUsedRange());//加载已使用的单元格 m_ExlRge.SetWrapText(_variant_t((long)1));//设置单元格内的文本为自动换行 //设置齐方式为水平垂直居中 //水平对齐:默认=1,居中=-4108,左=-4131,右=-4152 //垂直对齐:默认=2,居中=-4108,左=-4160,右=-4107 m_ExlRge.SetHorizontalAlignment(_variant_t((long)-4108)); m_ExlRge.SetVerticalAlignment(_variant_t((long)-4108)); ///////设置整体的字体、字号及颜色////// Font ft; ft.AttachDispatch(m_ExlRge.GetFont()); ft.SetName(_variant_t("宋体"));//字体 ft.SetColorIndex(_variant_t((long)11));//字的颜色 ft.SetSize(_variant_t((long)12));//字号 ///////////设置标题字体及颜色////////// m_ExlRge.AttachDispatch(m_ExlSheet.GetRange(_variant_t("A1"),_variant_t("D1"))); ft.AttachDispatch(m_ExlRge.GetFont()); ft.SetBold(_variant_t((long)1));//粗体 ft.SetSize(_variant_t((long)13)); ft.SetColorIndex(_variant_t((long)2)); CellFormat cf; cf.AttachDispatch(m_ExlRge.GetCells()); //////////////设置底色///////////////// Interior it; it.AttachDispatch(m_ExlRge.GetInterior()); it.SetColorIndex(_variant_t((long)11));//标题底色 ////表格内容的底色//// m_ExlRge.AttachDispatch(m_ExlSheet.GetRange(_variant_t("A2"),_variant_t("D5"))); it.AttachDispatch(m_ExlRge.GetInterior()); it.SetColorIndex(_variant_t((long)15)); //////////////为表格设置边框///////////// Range UnitRge; CString CellName; for(int i=1;i<=4;i++) { for(int j=1;j<=4;j++) { CellName.Format("%c%d",j+64,i);//单元格的名称 UnitRge.AttachDispatch(m_ExlRge.GetRange(_variant_t(CellName),_variant_t(CellName)));//加载单元格 //LineStyle=线型 Weight=线宽 ColorIndex=线的颜色(-4105为自动) UnitRge.BorderAround(_variant_t((long)1),_variant_t((long)2),_variant_t((long)-4105),vtMissing);//设置边框 } } //释放对象(相当重要!) m_ExlRge.ReleaseDispatch(); m_ExlSheet.ReleaseDispatch(); m_ExlSheets.ReleaseDispatch(); m_ExlBook.ReleaseDispatch(); m_ExlBooks.ReleaseDispatch(); //m_ExlApp一定要释放,否则程序结束后还会有一个Excel进程驻留在内存中,而且程序重复运行的时候会出错 m_ExlApp.ReleaseDispatch(); //退出程序 m_ExlApp.Quit(); }

阅读更多 >>>  linux查看系统配置命令(linux查看系统配置信息)

MFC学习过程

1.C++的基础,面向对象各种概念的理解是学好MFC的前提。
在学MFC的过程,有必要经常复习,提高C++的认识。
个人感觉多上机练习,多研究别人的源程序对学MFC帮助很大。
2.微软提供了WINDOWS 两种开发开发工具:
以C语言为基础 ----> API
以C++为基础 ---> MFC(VC)
MFC 是对API函数的面向对象的包裹。有API基础对学VC当然有帮助!
3.C++是VC的基础的,C++的概念(包裹,继承,重载,多义。。。),在VC里处处出现。
没有对C++概念一定程度的理解掌握,学好VC是不可能的。
而且C++的概念比较抽象,VC库则比较庞杂,分开学,可以分散难点。
( 另外,C和C++却可以一起学, 这是国外一些学者的观点,便于尽早培养面向对象
的观念和好的C++语言习惯)
推荐侯捷老师的《深入浅出MFC》~强力推荐,暴力推荐~
你学的天花乱坠,也只会在找工作的时候自我感叹:原来我还这么菜。
学基础是最重要的。不需要什么都会,但是基础要懂。
基础①:c/c++
基础②:会用vc工具,会用mfc,熟悉mfc框架,几大关键技术,各个框架的使用情况。
基础③:使用mfc开发多个软件,使用不同的技术点,掌握一些调试技巧,有较好的代码质量。
会了以上三点,请不要骄傲,因为,你找工作的时候只会写上:熟悉c++,熟悉mfc。
而公司不一定要你这“熟悉mfc”,更不会看重你熟悉c++。除非你很NB。
算法?数据库?网络?多线程设计?
别想着全部搞定,学点概念先放着吧。
要在windows学得有点成绩,mfc只是一个工具,你研究了多年,它还是工具,学习windows编程是基础的。掌握内核编程,了解驱动或者直接着手,你会“发财”的。
以上属个人见解。
另外关于你这本孙鑫的书,把它当提起兴趣的书籍吧,简单学点就行了,全部模仿完,没意义。
侯杰的那本《深入浅出MFC》是不错的选择,曾经也有老外写过的一些书很好,搜一搜也行。

深入浅出MFC 基础

最好先看C++的孙鑫的视频1-20,每集2小时。看完算入门了。可以做简单的C++的程序。
(并学会OOP的设计---面向对象的设计)
其次看C++的C++ Primary,一般的C++程序可以做。OOP的一般应用程序
最后才是你的那本

,不过我觉得那本书没用啊

我当初学习MFC是这样子的流程:

1:首先找本C++程序设计的书看下类,继承,多态等等内容

2:了解下OOP程序设计的思想,和面向过程思想对比下

3:看孙鑫的MFC视频,网上有下的,20集,边看的时候可以自己关闭视频,自己写出视频里的代码,并彻底理解代码

4:自己动手写一个简单的管理系统,比如:学生管理系统

初学者不要去学什么mfc,正如扬中科老师说的那样mfc隐藏了太多的东西,不但不利于学习,反而使问题越来越复杂。你要是不信你可以试一试,学了之后你除了会拖控件之外,一句代码也写不出来,我建议你还是深入研究Windows的消息机制,windows程序设计这本书关于消息机制的的这一节一定要

认真仔细研究,还有对话框,控制,鼠标,计时器,键盘这几节,对于其他的我个人认为因为这本书毕竟年代久远,有些东西有点过时了,反正我的经历是这样的。

建议你首先研究我上面所说的那些,再结合扬中科老师的“C语言也能干大事”这个教程,只要你认真学一定会有收获。

MFC是建立在C++的基础上的,你只要学好C++,就可以学MFC了…

深入浅出MFC肯定是一本好书不用说。

本来这本书从机制实现去讲MFC的方式就使得看起比较难了,因为本来MFC就是一套比较复杂的FRAMEWORK,不是平时拖拖控件、圈圈点点那么简单,所以要通过简单的文字去表达出来运行机制,还是比较困难了。

直接看WINDOWS程序设计会简单一些,因为每一个结构是什么都有清晰的定义,过程也十分清晰(不像MFC过程那么多)。不管看哪一个,C++最好都有个好一些的基础,加强理解。

1.c++语法要掌握.

2.windows程序设计是必需的,特别是象单文档程序,如果不了解消息处理细节,你直接上mfc的封装类,光一个CFrameWnd就可以让你深陷其中,云里雾里.

一些简单内容,直接跳过去就是了.

3.mfc学习,一本是李久近的,还是有一个国外的

.而侯俊杰的就省省吧.

1.c++法法掌握,主要是一本书
<深入探索c++对象模型>.看完这本,神马语法都是浮云.
rtti,为类维护一个static类,由于static对于类的多个实例来说仍然只有一个,这样就可以通过static记录类继承信息来判断父子关系.c++编译器自动实现,只要关心相应的函数就行了.

mfc,刚好就是明显提供了这种类似的实现,主要用于消息映射表遍历.

象com类,它是用128位数,也就是uuid用来表达一个类名称,然后通过字符串比较,来判断到底要返回嘛类,这个体会一下.
</深入探索c++对象模型>.看完这本,神马语法都是浮云.

用MFC进行游戏编程应该看什么方面的书?

第一阶段,首先是C++的精通。推荐《C++ Primer》。
第二阶段,熟悉windows下的编程。推荐看《windows程序设计》。
第三阶段,Visual C++的学习。推荐的书目有孙鑫老师的《vc++深入详解》和孙鑫老师的vc视频教程。以及侯俊杰老师的《MFC深入详解》,与时俱进的有尹成老师的《Visual C++2010开发权威指南》,但这本书推荐有一定的Visual C++基础之后再看。
第四阶段,开始学习专门介绍游戏开发的教程(有DirectX和OpenGL两条路可选,这里我们选择DirectX,DirectX在国内为主流),推荐书籍为《DirectX 9.0 3D游戏开发编程基础》(封面为一个红龙的),《Windows游戏编程大师技巧》,《Direct3D游戏开发技术详解》等等,当然这类教程就比较多了。新出的有很多,DirectX相关的层出不穷,也可以选择刚发行不久的新书,毕竟上面讲的知识比较前沿,现在技术革新速度很快,初学时就学习最新的技术,可以让你少走弯路
《VC++经典游戏编程》

基于MFC编程实例书籍

不推荐直接看MFC,要是想学扎实些,还是先看看WIN32的知识先,推荐经典书
Programming Windows,书虽然有点厚,但不用全看完,主要了解下Windows下的消息机制先。
接下来可以选择候俊杰的《深入浅出MFC》(第二版),虽然书介绍的是VC5.0但是作者也专门再网上说明因为和6.0差别不大,不会初第三版,本书是学MFC的绝对经典,可以看看。
要是侯捷(候俊杰)那本不太对胃口,可以选择VisualC++6.0技术内幕(第五版),别被名字吓到,这也是一本经典的入门书,前身是大名顶顶的Inside Visual C++,例子多,全面。
经典的书可以读很多遍,建议你购买,不过可以先去CSDN或是迅雷里下电子版读一读,对胃口了,再去买~再给你推荐十二本与MFC相关的书籍,有些跟上面的重复了。1、C++程序设计教程(钱能主编)
  本书可以说是C++的入门教程!不仅对C++的基础知识的说明很到位,对C不是很过硬的人来说,还可以好好复习一下!我学习到MFC时,都还有时没时的看看这本书,看一下以前的一些问题!作为C程序员,基础很重要,所以这本书不可不看!
难度:3*
推荐:9*
2、Visual C++.net完全手册(Chris H.Pappas/William H.Murray著)
  不要被.net吓到了,本书和上面的差不多,但更多的是说明一些细节的语法问题!很多的理论知识,不能做为教材,只是作为一个全面了解从c到C++再到C#的过程,书中说明的一些历史性的东西还是很有意思的!最后也说到了一些VC方面的东西,但都是点水似的过了。本书能做一般性的参考书。
难度:4*
推荐:5*
3、Visual C++程序设计培训教程(熊歆斌著)
  难得的一本VC入门好书(是我从二手书店找到的)。正如书中说的:读好书,不求甚解!其中所讲的例子很是生动实用,对初学者的心理把握的很新人准,十分适合从C++到VC的学习!本书也是中央电视台电视教学的教材!绝对的难得一见的入门经典好书!(不是这本书的入门,我可能就不会学MFC了!)
难度:5*
推荐:10*
4、Visual C++6.0技术内幕(第五版)(David J.Kruglinski/Geerge Shepherd著)
  本书适合VC的各个级别的学习者,内容丰富,例子全面,也很到位!读这书有时候有一种得来不费功夫的感觉!本书也是全世界程序员(VC)学习的一本好书,含盖面广,见解独到精辟!可惜作者已故!(目前本人没能看完)
难度:7*
推荐:8*
5、精通MFC(刘晓华)
  本书结构安排的不是很合理!有些感觉是路虎!但知识点深入,讲解穿插着API及windwos底层的些知识。不难看出,本书是作者自己的一些学习经验的总结!回路有些跳跃,对.net也有些说明!例子比较深入,适合中及入门者。(目前正在学习)
难度:6*
推荐:8*
6、Visual C++6.0MFC类库参考手册
  如其名,程序员的必备参考手册!本书其实就是VC的MSDN的中文文档。但简单一些,也有一些偷工减料的嫌疑!不怎样,作为一本难得的参考手册,特别是身边没有电子文档的时间,这可就成了救命稻草了!还少了开快译的麻烦了!
难度:5*
推荐:6*
7、深入浅出MFC(本人手头没有的书)
  我没有这本书,但为什么写上来呢?其实我很想要这本书,上次在二手书店回为价格问题没有买下来的!后来在网上看到关于本书的简介,说是一本不错的MFC学习的书。而且作者是华人。所以觉得这本书应该不错,有空把它找回来看看!
难度:?*
推荐:?*
8、MFC windows程序设计(第2版)(Ieff Prosise著)
  "在32位windows平台上进行面向对象程序设计的首选参考书","要理解如何利用MFC库中提供的成千上万个预编译,预测试的代码的优点,本书--及其作者--将是您独一无二的选择"。这是本书的封面和封底上的原文,多的我就不说了!确实不错,目前正在学习!!!
难度:8*
推荐:9*
9、Windows API for 2000/XP实例精解(王强等著)
  不用说,学习一段时间的MFC,不知道API是什么那才怪了!想知道AIP到底是什么吗??还有它与MFC到底是什么关系呢?这本书做了很好的解答!在多媒体编程时,这本书可就是老大了!不过有个电子版的PAI全解,相信那个更好!但这本书还有些实例,也很不错!
难度:7*
推荐:7*
10、windows环境下32位汇编语言和程序设计(罗云彬 著)
  本书是难得一见的好书!正如书中说的,汇编过实了吗?针对这个问题书中作了深入的说明!就我个人而言,并不是说要学什么汇编!但如果了解一下程序的运行底层关系,是不是很有意思呢!书中的一些编程思想很值得学习!作者也是专心的说明了一些学习经验和编程体会!
难度:8*
推荐:5*
11、MS的一套(五本)培训教程(目前我只有三本,英方版)
  想考一下自己学的怎样了吗?这几本书够你受的了,每一节后的练习都是针对性很强的东西!没有看完,主要是英文不很好!
难度:8*
推荐:5*
12、其它的书
  有几本我很想要,但由于目前还没有学习到那一步,也没有时间看,所以没收集相关的书!以上这些书都只是学习很有用的!至于再深入的学习体具到某些专业性很强的方面(如网络,图象等)那就另当别论了!有一本专业MFC图象编程的书,主要说的是一些算法,而且很多有错误,也没仔细看了!
祝你学习愉快~
你可以看看《深入浅出MFC》这一本将MFC原理的,然后你可以看看《visual C++.NET技术内膜》主要将应用的,这2本看完MFC应该差不多了
不推荐直接看MFC,要是想学扎实些,还是先看看WIN32的知识先,推荐经典书
Programming Windows,书虽然有点厚,但不用全看完,主要了解下Windows下的消息机制先。
接下来可以选择候俊杰的《深入浅出MFC》(第二版),虽然书介绍的是VC5.0但是作者也专门再网上说明因为和6.0差别不大,不会初第三版,本书是学MFC的绝对经典,可以看看。
要是侯捷(候俊杰)那本不太对胃口,可以选择VisualC++6.0技术内幕(第五版),别被名字吓到,这也是一本经典的入门书,前身是大名顶顶的Inside Visual C++,例子多,全面。
经典的书可以读很多遍,建议你购买,不过可以先去CSDN或是迅雷里下电子版读一读,对胃口了,再去买~再给你推荐十二本与MFC相关的书籍,有些跟上面的重复了。1、C++程序设计教程(钱能主编)
  本书可以说是C++的入门教程!不仅对C++的基础知识的说明很到位,对C不是很过硬的人来说,还可以好好复习一下!我学习到MFC时,都还有时没时的看看这本书,看一下以前的一些问题!作为C程序员,基础很重要,所以这本书不可不看!
难度:3*
推荐:9*
2、Visual C++.net完全手册(Chris H.Pappas/William H.Murray著)
  不要被.net吓到了,本书和上面的差不多,但更多的是说明一些细节的语法问题!很多的理论知识,不能做为教材,只是作为一个全面了解从c到C++再到C#的过程,书中说明的一些历史性的东西还是很有意思的!最后也说到了一些VC方面的东西,但都是点水似的过了。本书能做一般性的参考书。
难度:4*
推荐:5*
3、Visual C++程序设计培训教程(熊歆斌著)
  难得的一本VC入门好书(是我从二手书店找到的)。正如书中说的:读好书,不求甚解!其中所讲的例子很是生动实用,对初学者的心理把握的很新人准,十分适合从C++到VC的学习!本书也是中央电视台电视教学的教材!绝对的难得一见的入门经典好书!(不是这本书的入门,我可能就不会学MFC了!)
难度:5*
推荐:10*
4、Visual C++6.0技术内幕(第五版)(David J.Kruglinski/Geerge Shepherd著)
  本书适合VC的各个级别的学习者,内容丰富,例子全面,也很到位!读这书有时候有一种得来不费功夫的感觉!本书也是全世界程序员(VC)学习的一本好书,含盖面广,见解独到精辟!可惜作者已故!(目前本人没能看完)
难度:7*
推荐:8*
5、精通MFC(刘晓华)
  本书结构安排的不是很合理!有些感觉是路虎!但知识点深入,讲解穿插着API及windwos底层的些知识。不难看出,本书是作者自己的一些学习经验的总结!回路有些跳跃,对.net也有些说明!例子比较深入,适合中及入门者。(目前正在学习)
难度:6*
推荐:8*
6、Visual C++6.0MFC类库参考手册
  如其名,程序员的必备参考手册!本书其实就是VC的MSDN的中文文档。但简单一些,也有一些偷工减料的嫌疑!不怎样,作为一本难得的参考手册,特别是身边没有电子文档的时间,这可就成了救命稻草了!还少了开快译的麻烦了!
难度:5*
推荐:6*
7、深入浅出MFC(本人手头没有的书)
  我没有这本书,但为什么写上来呢?其实我很想要这本书,上次在二手书店回为价格问题没有买下来的!后来在网上看到关于本书的简介,说是一本不错的MFC学习的书。而且作者是华人。所以觉得这本书应该不错,有空把它找回来看看!
难度:?*
推荐:?*
8、MFC windows程序设计(第2版)(Ieff Prosise著)
  "在32位windows平台上进行面向对象程序设计的首选参考书","要理解如何利用MFC库中提供的成千上万个预编译,预测试的代码的优点,本书--及其作者--将是您独一无二的选择"。这是本书的封面和封底上的原文,多的我就不说了!确实不错,目前正在学习!!!
难度:8*
推荐:9*
9、Windows API for 2000/XP实例精解(王强等著)
  不用说,学习一段时间的MFC,不知道API是什么那才怪了!想知道AIP到底是什么吗??还有它与MFC到底是什么关系呢?这本书做了很好的解答!在多媒体编程时,这本书可就是老大了!不过有个电子版的PAI全解,相信那个更好!但这本书还有些实例,也很不错!
难度:7*
推荐:7*
10、windows环境下32位汇编语言和程序设计(罗云彬 著)
  本书是难得一见的好书!正如书中说的,汇编过实了吗?针对这个问题书中作了深入的说明!就我个人而言,并不是说要学什么汇编!但如果了解一下程序的运行底层关系,是不是很有意思呢!书中的一些编程思想很值得学习!作者也是专心的说明了一些学习经验和编程体会!
难度:8*
推荐:5*
11、MS的一套(五本)培训教程(目前我只有三本,英方版)
  想考一下自己学的怎样了吗?这几本书够你受的了,每一节后的练习都是针对性很强的东西!没有看完,主要是英文不很好!
难度:8*
推荐:5*
12、其它的书
  有几本我很想要,但由于目前还没有学习到那一步,也没有时间看,所以没收集相关的书!以上这些书都只是学习很有用的!至于再深入的学习体具到某些专业性很强的方面(如网络,图象等)那就另当别论了!有一本专业MFC图象编程的书,主要说的是一些算法,而且很多有错误,也没仔细看了!
祝你学习愉快~

vc++6.0创建使用opencv的MFC

请看下面的教程,如果你用的是的VC6.0,你应该先下一个Opencv1.0版本的开发库,然后再来编译。
下面是每个版本安装opencv所需的注意事项,安装前先看看吧:
http://www.opencv.org.cn/index.php/Download
关于这个问题,我前几天刚刚弄明白
你正常创建MFC项目就行,opencv只是一个库,言外之意就是,你只需要用你的IDE,也就是你那个VC6.0软件,把opencv的函数库导入就行。强烈建议你去下载opencv2.31版本,因为opencv变态的地方在于,有的版本竟然需要其他软件进行编译,我所知道的是Cmake,完全颠覆了自己对函数库这一如此简单东东的印象。不过还好有已经编译好了的opencv版本。这里面有三个文件夹,lib,bin,include,分别对应静态链接库,动态链接库,还有头文件,源文件。
说说添加,添加很简单,在工具选项中,关于这个有一大堆教程教你怎么做,你按照他们说的就可以。
另外,你运行项目之前,也需要进行一个添加依赖库的操作。
祝你好运。这是我上个礼拜弄Opencv的经验之谈。希望今后想用opencv的同志们,不要在把大把光阴浪费在这玩意的添加上了。毫无意义~

如何学习MFC呢?

有本书叫《深入浅出MFC》
另外看孙鑫的c++视频教程吧。
学习MFC的前提是掌握Windows编程,对Windows编程可以了解得不深但一定要掌握一些重要的概念。这是因为VC++开发的目标是Windows程序,Windows编程是MFC编程的基础,MFC本质上是以面向对象的方式对WindowsAPI进行封装,如果不理解Windows编程的一些重要原理,比如API调用、消息处理机制等等,仅学习MFC必然只能理解得很片面,模棱两可,即使知道怎样做也不知道为什么这样做。
下面列出一些公认的经典书:
The C Programming Language----------Brian W.Kernighan,Dennis M.Ritchie“介绍标准C语言及其程序设计方法的权威性经典著作”---
C++ Primer----------Stanley B. Lippman“帮助全球无数程序员学会C++”---
Windows 程序设计(第5版)-----Charles Petzold“windows编程泰山北斗”---
Windows核心编程----------Jeffrey Richter“windows编程泰山北斗”---
Windows高级编程指南---------Jeffrey Richter“windows编程泰山北斗”---
深入浅出MFC(第二版)-----“MFC四大天王”-------侯捷
MFC Windows程序设计(第2版)---MFC四大天王”---------Jeff Prosise
Visual C++ 技术内幕(第4版)--MFC四大天王”--------David Kruglinski
深入解析MFC-------------MFC四大天王”-----------George Shepherd
Visual C++.NET 技术内幕(第6版)-MFC四大天王”------------David Kruglinski
这些书籍包括其作者都是响当当的。
如果你不打算深入研究编程,而只是作为临时任务的工具的话,看一些应用方面,有很多例子代码的书就行,比如孙鑫的《VC++深入详解》,或者一些其他的大部头工具书。如果想研究编程,深入理解MFC的工作机制,首先要精通Windows编程。《Windows 程序设计》是较为基础的,实例代码很多,《Windows核心编程》和《Windows高级编程指南》就比较拔高了,涉及很多操作系统的知识。掌握Windows编程后再研究MFC就轻松多了,它就是对WindowsAPI的封装,侯捷的《深入浅出MFC》讲得蛮细致深入。

阅读更多 >>>  net5wpf支持linux吗

网站数据信息

"mfc开发教程,vc++6.0创建使用opencv的MFC"浏览人数已经达到19次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:mfc开发教程,vc++6.0创建使用opencv的MFC的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!