DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2014年1月2日

摘要: Matlab GUI编程总结代码示例:http://download.csdn.net/detail/nuptboyzhb/44742771.创建及初始化界面(Figure)SystemFrameHandle=figure(1);%创建一个窗口clfresetset(gcf,'name','CSplatform NUPT','numbertitle','off',...'unit','normalized','position',[0.02,0.1,0.92,0.82],... 阅读全文
posted @ 2014-01-02 09:46 DoubleLi 阅读(6121) 评论(0) 推荐(0)

摘要: VC++6.0和VS2005在编写MFC应用程序时,操作方面的差异一直用VC++6.0,对VS2005不太了解,下面简单的熟悉一下VS2005的一下功能,总结一下VS2005在编写MFC时候的应用。1.菜单项:和VC6.0一样,也是找到资源视图,点击menu资源,在上面新建自己的菜单项。只是‘属性’,陈列的方式不同,VS2005陈列在右下角;在VC6.0中,我们对菜单项建立类向导,而在VS2005中,点右键,选择的是:‘添加事件处理程序’,然后再对话框里选择相应的消息类型,在类列表中选择要添加的哪个类中。点击‘添加编辑’按钮即可。2.对话框:和VC6.0一样,也是找到资源视图,点击menu资源 阅读全文
posted @ 2014-01-02 09:45 DoubleLi 阅读(583) 评论(0) 推荐(0)

摘要: 1、 DLL的概念DLL(Dynamic Linkable Library),动态链接库,可以向程序提供一些函数、变量或类。这些可以直接拿来使用。静态链接库与动态链接库的区别:(1)静态链接库与动态链接库都是共享代码的方式。静态链接库把最后的指令都包含在最终生成的EXE文件中了;动态链接库不必被包含在最终EXE文件中,EXE文件执行时可以“动态”地引用和卸载这个与EXE独立的DLL文件。(2)静态链接库中不能再包含其他的动态链接库或者静态库,而在动态链接库中还可以再包含其他的动态或静态链接库。动态链接库的分类:Visual C++支持三种DLL,它们分别是:(1)Non-MFC DLL(非MF 阅读全文
posted @ 2014-01-02 09:44 DoubleLi 阅读(6401) 评论(0) 推荐(0)

摘要: WinExecTheWinExecfunction runs the specified application.NoteThis function is provided only for compatibility with 16-bit Windows. Applications should use theCreateProcessfunction.UINT WinExec( LPCSTR lpCmdLine, // 可执行程序的路径,如"c:\\a.exe" UINT uCmdShow // 启动方式);ParameterslpCmdLine [in] Point 阅读全文
posted @ 2014-01-02 09:42 DoubleLi 阅读(2126) 评论(0) 推荐(0)

摘要: 使窗口设置为最大化,最顶层int cxScreen,cyScreen;cxScreen=GetSystemMetrics(SM_CXSCREEN);//获得屏幕的宽度cyScreen=GetSystemMetrics(SM_CYSCREEN);//获得屏幕的高度 SetWindowPos(&wndTopMost,0,0,cxScreen,cyScreen,SWP_SHOWWINDOW);//设置窗口为最顶层设置窗口为最顶层,不可移动和改变尺寸AfxGetMainWnd()->SetWindowPos(&CWnd::wndTopMost,0,0,0,0,SWP_NOMOVE 阅读全文
posted @ 2014-01-02 09:41 DoubleLi 阅读(1996) 评论(0) 推荐(0)

摘要: 对话框的控件与其对应类的对象相关联:(两种方法)(1) 通过CWnd::DoDataExchange函数进行关联; 用VC++6.0的MFC ClassWizard中的Member Variables页面的Add Variable关联一个变量 然后在程序的DoDataExchange函数中会有DDX_XXXXX函数关联;该方法非常通用;比如一个CEdit控件,既可以关联一个CEdit对象,也可以关联int,CString等类型的变量;(2) 用一下函数进行关联(与其对应的类的对象关联)主要应用如下函数:CWnd* GetDlgItem( intnID) const;nID为资源的ID号,当然, 阅读全文
posted @ 2014-01-02 09:40 DoubleLi 阅读(758) 评论(0) 推荐(0)

摘要: Mfc消息的响应机制Mfc中有很多资源,如图标资源,菜单资源,工具栏资源等等;那么,资源是如何进行消息响应和消息映射的呢?它们的流程是:某种资源——对应的ID号——消息映射——响应函数的声明与实现下面我们以工具栏的资源响应为例:(多文档的应用程序)1. 在工具栏资源增加一个图标(随便画一下),双击它,设置它的资源ID为:ID_MYICON2. 在View类的.cpp文件中添加消息映射;找到BEGIN_MESSAGE_MAP()与END_MESSAGE_MAP()之间的代码,添加消息映射语句ON_COMMAND(ID_MYICON,OnMyicon)其中,第一个参数是资源的ID号;第二个为消息响 阅读全文
posted @ 2014-01-02 09:39 DoubleLi 阅读(743) 评论(0) 推荐(0)

摘要: 一、MFC允许对象在程序运行的整个过程中持久化的串行化机制(1)串行化是指向持久化存储媒介(如一个磁盘文件)读或写对象的过程。(2)串行化用于在程序运行过程时或之后修复结构化数据(如C++类或结构)的状态。(3)MFC支持CObject类中的串行化,所以,所有继承于CObject的类可以利用CObject的串行化协议。(4)串行化的基本思想: a、对象必须能将其当前状态写入到持久化存储媒介中,通常用其成员变量实现。 b、对象可以通过读或反序列化从存储媒介中重新构造对象的状态。 c、串行化处理所有对象指针的细节,以及序列化对象时对对象的循环引用。 d、关键点是对象自己负责读和写其本身的状态,所以 阅读全文
posted @ 2014-01-02 09:38 DoubleLi 阅读(639) 评论(0) 推荐(0)

摘要: MFC工具栏控件 创建工具栏步骤: (1)在Resource View中插入新toolbar (2)在toolbar上双击增加按钮,更改ID为ID_BUTTON,编译后在resource.h中即可看到 #define ID_BUTTON132771 (3)在框架类中添加保护的成员变量 CToolBar m_MyToolBar; (4)在框架类的OnCreate中用CreateEx创建工具栏控件(设置属性),加载工具栏资源 代码如下: if (!m_MyToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_LEF... 阅读全文
posted @ 2014-01-02 09:36 DoubleLi 阅读(766) 评论(0) 推荐(0)

摘要: CArray及其派生类1.简介:访问方法及效率和普通的数组一样,比普通数组强大的功能是可以改变数组的大小。Array采用队列方式存储数据,因而其内部数据元素是以物理方式顺序排列的,所以检索、顺序执行GetAt()等函数的速度是相当快的。但是由于每次队列长度变化后,数据都要重新申请内存、拷贝内存、释放内存,Insert/Add/RemoveAt()的速度都很慢。特点:通过索引(数组下标)访问的速度很快,但是插入删除操作很慢,因为插入删除操作时,是需要移动元素的。访问方法:通过索引访问,普通的数组怎么用,它就可以怎么用。2. MFC数组类CArray的使用的操作详解MFC的数组类支持的数组类似于常 阅读全文
posted @ 2014-01-02 09:35 DoubleLi 阅读(2000) 评论(0) 推荐(0)

摘要: 源代码:http://download.csdn.net/detail/nuptboyzhb/4219669源代码:1.插入一个对话框的资源,删除默认控件,并为对话框创建一个类,命名为ClyricDlg;2.在对话框的头文件中添加GDI+相关的头文件和动态库#define UNICODE#ifndef ULONG_PTR#define ULONG_PTR unsigned long*#endif#include "GDIPlus\\Includes\\GdiPlus.h" ////Modify your pathusing namespace Gdiplus;#pragma 阅读全文
posted @ 2014-01-02 09:34 DoubleLi 阅读(628) 评论(0) 推荐(0)

摘要: 源代码:http://download.csdn.net/detail/nuptboyzhb/4221531CSplitterWnd类CSplitterWnd类提供一个分隔器窗口的功能,分隔器窗口是一个包含有多个窗格的窗口。窗格通常是应用程序特定的由CView派生的对象,但它也可以是具有适当子窗口ID的任何CWnd对象。一个CSplitterWnd对象通常被嵌入CFrameWnd或CMDIChildWnd父对象。你应按如下步骤创建一个CSplitterWnd对象:1.在父框架中嵌入一个CSplitterWnd成员变量。2.重载父框架的CFrameWnd::OnCreateClient成员函数。 阅读全文
posted @ 2014-01-02 09:33 DoubleLi 阅读(821) 评论(0) 推荐(0)

摘要: 忙里偷闲,把前一段时间做的一个小项目总结一下。源代码:http://download.csdn.net/detail/nuptboyzhb/4333353功能简介:1.插入图形:直线、矩形、圆形、椭圆、多边形、箭头、菱形2.插入图片:支持bmp图片3.插入文字4.编辑:支持图形的剪切、复制和粘贴功能;5.支持项目的保存和打开;特别说明:对bmp格式的图片,本项目用CDib类来管理,方便对bmp图片的图像处理算法的开发;另外:对于项目的保存和打开,体现了类的串行化和数组的管理方式。其中,对CDib类的串行化,非常有参考价值;该项目这种多态性+STL+串行化的管理方式,易于拓展。同时‘文档+视图’ 阅读全文
posted @ 2014-01-02 09:32 DoubleLi 阅读(1566) 评论(0) 推荐(0)

摘要: 源代码:http://download.csdn.net/detail/nuptboyzhb/3961701哎,其实里面有很多图片的,本来看起开很明了的,资源连接里有详细的文档,比下面的看的舒服的多....为画图工具添加工具栏Ø 首先认识一下工具栏的操作。1.打开资源->Toolbar2.如何查看每个图标的属性?查看每个图标属性,不是按右键,而是左键双击图片,即可看到,如:我们双击打开图标,得到如下属性框:从上图我们可以知道‘打开’图标的资源ID是:ID_FILE_NEW;这个ID号恰好和菜单项中的‘文件’->‘打开’菜单项具有相同的资源ID。因此,当我们按工具栏的‘打开 阅读全文
posted @ 2014-01-02 09:31 DoubleLi 阅读(718) 评论(0) 推荐(0)

摘要: 源代码:http://download.csdn.net/detail/nuptboyzhb/3961696输入文字l对话框1.插入,资源,选择对话框资源2.编辑对话框如下:设置每一个控件的属性。3.双击对话框,建立对话框的类,命名为:TexTSetDlg4.给对话框类增加公有成员变量如下:int m_colorR;int m_colorG;int m_colorB;double dlg_hscale;double dlg_vscale;double dlg_shear;int dlg_thick;CString str_text;5.在对话框的构造函数中,初始化成员变量。6.在数据交换函数中 阅读全文
posted @ 2014-01-02 09:30 DoubleLi 阅读(445) 评论(0) 推荐(0)

摘要: 源代码:http://download.csdn.net/detail/nuptboyzhb/3961698Alpha融合菜单项1. 增加alpha融合菜单项,修改相应的属性,建立类向导,编辑消息处理函数。2. 在消息处理函数中添加如下代码void CCVMFCView::OnAlphaMix(){//TODO: Add your command handler code here//TODO: Add your command handler code hereIplImage*src1, *src2;CStringcsAVI="src1 Files(lena.bmp)|*.bmp 阅读全文
posted @ 2014-01-02 09:30 DoubleLi 阅读(427) 评论(0) 推荐(0)

摘要: 源代码地址:http://download.csdn.net/detail/nuptboyzhb/39616901.增加‘椭圆’菜单项,设置属性,添加类向导;2.编辑消息处理函数,设置画图变量标识my_draw_flag为5,并读取对话框里的数据。3.修改OnMouseMove消息处理函数。3.1增加变量CvSizeCvSize EllipseSize;3.2case 5的编程: case 5: EllipseSize.width=abs(my_cvpoint1.x-iner_point.x);EllipseSize.height=abs(my_cvpoint1.y-iner_point.y) 阅读全文
posted @ 2014-01-02 09:29 DoubleLi 阅读(408) 评论(0) 推荐(0)

摘要: 源代码:http://download.csdn.net/detail/nuptboyzhb/3961688l 对话框1.“插入”->“资源”->“对话框”2.对话框属性如下:双击对话框,建立对话框类。取名:LineParameter3.在LineParameter.h头文件中添加#include "resource.h",否则:会报错:IDD_DIALOG4未定义4.为LineParameter类增加如下成员变量: int m_colorR; int m_colorG; int m_colorB; int m_PenWidth;5.在构造函数中,初始化变量:L 阅读全文
posted @ 2014-01-02 09:28 DoubleLi 阅读(789) 评论(0) 推荐(0)

摘要: 源代码地址:http://download.csdn.net/detail/nuptboyzhb/3961685画图工具1. 画直线Ø 增加‘直线’菜单项,建立类向导;Ø 对CXXXXXXView类增加成员变量my_draw_flag.并在构造函数中初始化为0Ø 在‘直线’菜单项处理函数中,将my_draw_flag=1;表示画直线Ø 增加window消息处理,WM_LBUTTONDOWN 和WM_MOUSEMOVE和WM_LBUTTONUPØ 增加成员变量在构造函数里初始化为0;增加int型成员变量OnLButtonDownRunFlag,O 阅读全文
posted @ 2014-01-02 09:27 DoubleLi 阅读(836) 评论(0) 推荐(0)

摘要: 源代码:http://download.csdn.net/detail/nuptboyzhb/3961677Ø 添加全屏截图菜单项,菜单项的属性如下;Ø 为该菜单项建立类向导。编辑消息处理函数如下voidCCVMFCView::OnPrintscreen(){ CRect rect; //HBITMAP hMap; rect.left = 0; rect.top = 0; rect.right =GetSystemMetrics(SM_CXSCREEN); rect.bottom =GetSystemMetrics(SM_CYSCREEN); //------------- 阅读全文
posted @ 2014-01-02 09:26 DoubleLi 阅读(777) 评论(0) 推荐(0)