自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 资源 (4)
  • 收藏
  • 关注

原创 Xshell 5 出现"Xshell出现要继续使用此程序必须应用到最新的更新或使用新版本" 时 的处理方法

方法一:资源可以用,但是安装完成后启动会报错:“要继续使用此程序,您必须应用最新的更新或使用新版本” 解决办法先修改你电脑时间为前一年(2017 12月),然后就可以打开xshell了,打开后"工具"->选项->更新->取消前面的更新即可该方法可以在更改系统时间之后能临时启动Xshell 但是 当系统时间恢复之后,关闭Xshell再启动时 更新提示依旧存在(不治本的方...

2018-12-31 15:29:49 850

原创 C++ 实现单向链表

#include#include#includeusing namespace std;struct Node{int value;Node* Next;};class List{private:Node* head;int count;public:List(){count=0;head=NULL;}Node* He

2015-12-20 22:28:27 623

原创 C++实现双向链表的创建,插入,修改,删除

#include#includeusing namespace std;struct Node{int value;Node* pre;Node* next;};class Double_list{private:Node*head;public:Double_list(){head=NULL;}void Create()

2015-12-20 22:26:12 2498 1

原创 C++向文件中写入数据

#include#include#includeusing namespace std;int main(){time_t time_now;//定义一个time_t结构的对象time(&time_now);//获取系统当前的日历时间tm timep; //时间结构体 localtime_s(&timep,&time_now);//将日历

2014-12-30 18:43:01 5695

转载 AfxMessageBox与MessageBox的区别

如果用MFC的话,请尽量使用afxmessagebox,因为这个全局的对话框最安全,也最方便。   但是在WIN32 SDK的情况下只能使用MESSAGEBOX。MessageBox()是Win32API函数.后者是mfc中的全局函数.在MFC中能用MessageBox()的地方都能用AfxMessageBox().afxmessagebox更多的时候是用于调试AfxMes

2014-12-22 09:33:26 596

原创 使用批处理文件完成注册信息

在编写软件时, Window系统下的动态链接库需要注册才能使用。比如在Win  XP系统下运行ADO程序,需要在当前目录下注册 regtlibv12  msado60_Backcompat_i386.tlb。因为在软件使用时,第一次都需要进行固定的祖册信息操作。这是可以将注册信息放在一个批处理文件中,在第一次运行软件时,运行批处理文件便可以实现信息的注册。将msado15.dll 和msa

2014-12-19 09:51:24 773

原创 在XP系统上运行ADO程序。

出现的问题:在WIN7下开发的MFC ADO应用程序到XP上就不能运行了。原因:win7 sp1上编译ADO程序,在win7 sp1以下版本不能运行。解决方案:1、先下载下面的文件32位WIN7系统:Msado60_Backcompat_i386.tlb64位WIN7系统(INTEL平台):Msado60_Backcompat_i386.tlb 和Msado

2014-12-19 09:07:12 1048 1

原创 C++ 根据操作系统版本调用不同的动态链接库

在操作数据库时遇到一个问题:win7 sp1上编译ADO程序,在win7 sp1以下版本不能运行,(Win7系统下需要的动态文件与XP系统的需要的动态链接库不一样。需要根据系统的版本加载动态链接库。)Win7 系统下:需要的动态链接库#import "MSADO15.DLL"rename_namespace("ADOWE") rename("EOF","EndOfFile")

2014-12-18 22:07:10 2517

转载 C程序(进程)的内存布局

C程序(进程)的内存布局#include const int a = 10; //全局常量aint main(void) {  const int b = 20; //局部常量b  int* pa = (int*)&a;  int* pb = (int*)&b;  *pa = 30; //可以吗?能成功赋值吗?  *pb = 30; //可以吗?能成功赋值吗?  r

2014-12-04 16:49:09 620

转载 static的作用(修饰函数、局部变量、全局变量)

static作用(修饰函数、局部变量、全局变量)在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。(1)先来介绍它的第一条也是最重要的一条:隐藏。当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c。下面是a.c的内容char a

2014-12-04 16:01:39 610

转载 测试领域的学习和发展(我们都是温水的青蛙)

测试领域的学习和发展       ------其实我们处在测试领域中,就都如处在“温水中的青蛙一样”最近很长一段时间都很忙,突然对自己最近的学习方法做个简单的总结,以及个人对测试发展的整个过程的一个分析,希望对大家有帮助一、测试发展过程我认为一般的测试过程发展:测试执行->测试用例撰写->自动化测试实现->测试流程与平台实现。《1》测试执行阶段要求:1、

2014-11-04 15:13:30 607

转载 C++#include 采用尖括号和采用引号的区别

如果你还看一些别的C++教程,那么你可能很早就发现了,有些书上的#include命令写作#include ,但有时候又会出现#include "文件名"。你会很疑惑,到底哪个是对的呢?为什么要有这两种不同的写法呢?这两种写法都是正确的写法,但是它们却是有区别的。我们知道C++已经有一些编写好的头文件(比如标准函数库等等),它们存放在VC++的Include文件夹里。当我们使用#includ

2014-09-30 15:35:25 813

原创 memcpy函数 和 memmove函数 原码

memcpy 和memmove 原型

2014-09-21 15:24:31 1034

转载 给定一个字符串,求出其最长的重复子串

题目:给定一个字符串,求出其最长的重复子串如字符串abcdabcabcd,求的最长重复子串为abcd代码:void LongChar(char* str){ if(str==NULL)  return; int max=0; int first=0; int count=0; for(int i=1;i  for(int k=0,j=0;j

2014-09-12 16:29:19 1026

转载 C++宏定义的优缺点

一、#define的基本用法    #define是C语言中提供的宏定义命令,其主要目的是为程序员在编程时提供一定的方便,并能在一定程度上提高程序的运行效率,但学生在学习时往往不能 理解该命令的本质,总是在此处产生一些困惑,在编程时误用该命令,使得程序的运行与预期的目的不一致,或者在读别人写的程序时,把运行结果理解错误,这对 C语言的学习很不利。1 #define命令剖析

2014-09-01 08:50:11 3134

转载 auto_ptr浅析

很多人听说过标准auto_ptr智能指针机制,但并不是每个人都天天使用它。这真是个遗憾,因为auto_ptr优雅地解决了C++设计和编码中常见的问题,正确地使用它可以生成健壮的代码。本文阐述了如何正确运用auto_ptr来让你的代码更加安全——以及如何避免对auto_ptr危险但常见的误用,这些误用会引发间断性发作、难以诊断的bug。1.为什么称它为“自动”指针?auto_ptr只是众

2014-08-26 15:44:36 609

转载 C++中explicit关键字的作用

explicit用来防止由构造函数定义的隐式转换。 要明白它的作用,首先要了解隐式转换:可以用单个实参来调用的构造函数定义了从形参类型到该类类型的一个隐式转换。例如: class things{ public: things(const std::string&name =""): m_name(name),

2014-08-26 15:21:54 495

转载 求一个字符串中连续出现次数最多的子串

/* 基本算法描述:     给出一个字符串abababa      1.穷举出所有的后缀子串         substrs[0] = abababa;         substrs[1] = bababa;         substrs[2] = ababa;         substrs[3] = baba;         substrs[4] = a

2014-07-28 15:41:18 606

转载 TCP 建立连接的三次握手 和释放连接的四次挥手 图解

相对于SOCKET开发者,TCP创建过程和链接折除过程是由TCP/IP协议栈自动创建的.因此开发者并不需要控制这个过程.但是对于理解TCP底层运作机制,相当有帮助.    而且对于有网络协议工程师之类笔试,几乎是必考的内容.企业对这个问题热情之高,出乎我的意料:-)。有时上午面试前强调这个问题,并重复讲一次,下午几乎每一个人都被问到这个问题。 因此在这里详细解释一下这两个过程。

2014-07-27 16:37:14 1213

转载 大端系统和小端系统

大端/小端就是Big-Endian/Little-Endian问题大端:高位字节存在高地址上,低位字节存在低地址上小端:低位字节存在高地址上,高位字节存在低地址上 有两种常见的方法来判断是大端还是小端方法一:使用指针int x=1;if(*(char*)&x==1)    printf("little-endian\n");else    printf("b

2014-07-15 16:30:13 1977 1

转载 从农夫养牛问题推广到斐波那契数列

从农夫养牛问题推广到斐波那契数列 一个农夫养了一头牛,三年后,这头牛每年会生出1头牛,生出来的牛三年后,又可以每年生出一头牛……问农夫10年后有多少头牛?n年呢?这里主要谈一下解决这种问题的思想。首先可以联系斐波那契数列,设f(n)为第n年的牛,则f(n) = f(n - 1) + f(n - 2)————>表达式1-1即第n年的牛为去年牛的个数f(n - 1)加上今年

2014-07-15 14:35:21 726

原创 MFC自定义消息 消息映射的编写流程

MFC自定义消息 消息映射的编写流程

2014-07-06 16:55:45 622

原创 二叉链表树中结点个数 与空指针个数 二叉树的边数的关系

二叉链表树中结点个数 与空指针个数 二叉树的边数的关系

2014-07-04 12:31:29 13576 1

转载 realloc 用法

最近在写source code时需要在数组的buffer小时重新申请一块buffer,故找了一些资料,乖乖,竟然原指针还可以“漂移”。。。。。。realloc 原型:extern void *realloc(void *mem_address, unsigned int newsize); 用法:#include 有些编译器需要#include  功能:改变mem_address

2014-07-01 16:32:38 761 1

原创 CTime以及其它时间差 DateTimePicker控件

CTime以及其它时间差一、DateTimePicker控件引用一个DateTimePicker控件,关联变量m_date为DateTimeCtrl类型,然后在响应事件中加入如下代码:   CTime tm;   m_date.GetTime(tm);   CString strDate=tm.Format("%Y-%m-%d");就可以获取了...

2014-07-01 15:44:52 1241

转载 STL set的使用 vector List set map 成员函数erase

STL中的容器按存储方式分为两类,一类是按以数组形式存储的容器(如:vector 、deque);另一类是以不连续的节点形式存储的容器(如:list、set、map)。在使用erase方法来删除元素时,需要注意一些问题。      在使用 list、set 或 map遍历删除某些元素时可以这样使用:正确使用方法1      std::list List;      std::l

2014-07-01 10:28:38 805

转载 C++读取一整行字符串

大家在学习C++编程时,一般在输入方面都是使用的cin.而cin是使用空白(空格,制表符和换行符)来定字符串的界的。这就导致了对于带有空格的字符串,比如”I Love C++奋斗乐园论坛”只能读入”I”,后面的都无法读入。这时怎么办? 一.对于字符数组:方法一:getline()读入整行数据,它使用回车键输入的换行符来确定输入结尾。调用方法: cin.getli

2014-06-30 21:40:06 11151

原创 c++ 继承之函数隐藏

基类定义了一个虚函数 ,o

2014-06-14 23:21:46 710

原创 CTime 类 的Format函数和CDateTimeCtrl类的SetFormat函数参数区别

今天 调程序的时候开始一直以为两者的dai

2014-05-24 10:05:24 1280

转载 螺旋队列

螺旋队列问题下面是一个螺旋队列:   73   74   75   76   77   78   79   80  81   72   43   44   45   46   47   48   49   50   71   42   21   22   23   24   25   26   51   70   41   20    7     8

2014-05-14 14:46:38 758

转载 拷贝构造函数

一. 什么是拷贝构造函数首先对于普通类型的对象来说,它们之间的复制是很简单的,例如:[c-sharp] view plaincopyint a = 100;  int b = a;   而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。

2014-04-29 13:43:12 595

转载 const 修饰函数参数,返回值,函数体

看到const 关键字,C++程序员首先想到的可能是const 常量。这可不是良好的条件反射。如果只知道用const 定义常量,那么相当于把火药仅用于制作鞭炮。const 更大的魅力是它可以修饰函数的参数、返回值,甚至函数的定义体。const 是constant 的缩写,“恒定不变”的意思。被const 修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。所以很多C++程序设

2014-04-29 09:27:16 621

转载 CString、string 以及char* 的相互转换

CString 头文件#include string 头文件#include CString 转char *CString cstr;char *p = (LPSTR)(LPCTSTR)cstr;string 转 CStringCString.format(”%s”, string.c_str());char 转 CStringCString

2014-04-21 21:24:41 612

转载 堆内存和栈内存 解析

堆:顺序随意栈:先进后出堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈2、堆区(heap) — 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵

2014-04-15 18:56:42 594

原创 Tencent2014实习笔试题 南京

#includeusing namespace std;class Base{public:virtual int foo(int x){return  x*10;}int foo(char x[10]){return sizeof(x)+10;}};class Derived :public Base {int foo(int

2014-04-14 13:50:41 887

原创 sizeof的使用以及sizeof与strlen的区别

sizeof 是判断数据类型长度符的关键字

2014-04-14 13:40:03 844

转载 C++与C语言字符串头文件及其对应的操作

1.#include    //不可以定义string s;可以用到strcpy等函数using   namespace   std;#include    //可以定义string s;可以用到strcpy等函数using   namesapce   std;#include    //不可以定义string s;可以用到strcpy等函数2.

2014-03-22 22:40:20 9169

原创 指向指针的指针的使用

这篇文章主要是介绍 指向指针的指针 的一种用法上代码(用途:使用一个函数动态申请内存,并赋值。跳出调用函数后输出赋值内容)[cpp] #include  #include    typedef struct Data  {      int    da;  } Data;    void fun(Dat

2014-03-19 10:09:07 662

原创 回调函数例子

回调函数例子具体过程就不再详细描述了。可与看  我转载的“C++回调函数(callback)的使用”一文直接上例子。//头文件#if !defined(AFX_CALLBACKMFCTESTDLG_H__05A42778_CA7F_4D81_9350_3592155687BB__INCLUDED_)#define AFX_CALLBACKMFCTESTDLG_H__05

2014-03-12 22:27:35 815

转载 C++回调函数(callback)的使用

什么是回调函数(callback)     模块A有一个函数foo,它向模块B传递foo的地址,然后在B里面发生某种事件(event)时,通过从A里面传递过来的foo的地址调用foo,通知A发生了什么事情,让A作出相应反应。 那么我们就把foo称为回调函数。     例子:       回调函数是一个很有用,也很重要的概念。当发生某种事件时,系统或其他函数将会自动调用你定义的一段函

2014-03-12 22:19:35 3344

VC动态调整对话框控件位置和大小

VC窗口自由的调整大小的实现 使用说明: 1,将在对话框的属性里设置 边框可调整大小的 2,在主窗体cpp添加 #include EasySize.h ,也可以按照原创的方法添加到 stdafx.h中 3,在定义主窗体的地方 以下是引用片段: class CEasySizeDemoDlg : public CDialog { DECLARE_EASYSIZE //添加这个,如果添加后编译错误,参考步骤2。 4,在主窗体的OnInitDialog消息函数中 以下是引用片段: BOOL CEasySizeDemoDlg::OnInitDialog() { CDialog::OnInitDialog(); ... INIT_EASYSIZE; //添加这个 return TRUE; // return TRUE unless you set the focus to a control } 5,重载消息WM_SIZE消息函数 以下是引用片段: void CEasySizeDemoDlg::OnSize(UINT nType, int cx, int cy) { CDialog::OnSize(nType, cx, cy); UPDATE_EASYSIZE; //添加这个 } 6,如果你希望窗口在调整大小的时候限制最大不能超过多少,最小不能小于多少可以重载onsizing消息 这个消息好象不能在类向导里直接添加,其实是可以的。当然,你要是嫌麻烦的话,就如下做1: 直接早在: 以下是引用片段: ON_WM_SIZE();下面再添加了这个 ON_WM_SIZING() ; 然后查找到: 以下是引用片段: afx_msg void OnSize(UINT nType, int cx, int cy);下面再添加了这个 afx_msg void OnSizing(UINT fwSide, LPRECT pRect); 再添加事件处理函数: 以下是引用片段: void CEasySizeDemoDlg::OnSizing(UINT fwSide, LPRECT pRect) { CDialog::OnSizing(fwSide, pRect); EASYSIZE_MINSIZE(280,250,fwSide,pRect); //280,250是最小尺寸, //如果想拥有最大尺寸功能可以修改EasySize.h,仿照EASYSIZE_MINSIZE的方法写个最大限制的。 } 当然,你也可以用类向导来做的:类向导—>classinfo(类信息)—>Messagefilter—>Windows 好了,然后你再回到Message maps里面去看message是不是里面就有了你要的WM_SIZING了,^_^! 7,最后添加 消息映射 以下是引用片段: BEGIN_EASYSIZE_MAP( your main dialog name) //这里修改成主窗体类名 ... //这里针对每个需要在调整窗体大小时调整大小位置的控件添加处理函数 EASYSIZE(control,left,top,right,bottom,options) //这里的control写控件的id号 //left:如果要保持与主窗体左边位置固定可以写ES_BORDER,如果要保持大小不变,此处不加特殊处理,写ES_KEEPSIZE,如果要以其他空间的左边,作为基准可以写该控件的id号 //top,right,bottom同上 //options控制水平垂直居中效果,如ES_HCENTER|ES_VCENTER ,无特殊写0 ... END_EASYSIZE_MAP 具体EASYSIZE(control,left,top,right,bottom,options) 的用法: 其中:control为对话框中的控件ID值,left,top,right,bottom四个参数为控件位置的坐标,其值可以选择ES_BOARD, ES_KEEPSIZE, 控件ID值三者之一。Options可以为ES_HCENTER, ES_VCENTER的结合,options可置0。 1.   ES_BOARD表示控件与对话框边界(以下简称边界)的距离; 2.   ES_KEEPSIZE表示控件水平/垂直方向上尺寸保持不变; 3.   控件ID值表示当前控件与指定控件之间的距离; 4.   ES_HCENTER表示缩放后控件在指定位置内水平居中; 5.   ES_VCENTER表示缩放后控件在指定位置内垂直居中; 例如: EASYSIZE(IDOK,ES_BORDER,ES_BORDER,ES_BORDER,ES_BORDER,0) 表示缩放后,值为IDOK的控件,距离边界上下左右位置保持不变,水平和垂直方向尺寸拉伸; EASYSIZE(IDOK,ES_BORDER,ES_BORDER,ES_BORDER,ES_BORDER,ES_HCENTER) 表示缩放后,值为IDOK的控件,距离边界上下位置保持不变,垂直方向尺寸拉伸,水平居中; EASYSIZE(IDOK,ES_BORDER,ES_BORDER,ES_BORDER,ES_BORDER,ES_HCENTER| ES_HCENTER) 表示缩放后,值为IDOK的控件,在对话框内垂直居中,水平居中; EASYSIZE(IDOK,ES_BORDER,ES_KEEPSIZE,ES_KEEPSIZE,ES_BORDER,0) 表示缩放后,值为IDOK的控件,距离边界左、下方位置保持不变,同时保持控件尺寸; EASYSIZE(IDOK,ES_BORDER,ES_KEEPSIZE, ES_BORDER,ES_BORDER,0) 表示缩放后,值为IDOK的控件,距离边界左、右、下方位置保持不变,水平方向尺寸拉伸,垂直方向尺寸不变; EASYSIZE(IDOK,ES_BORDER,ES_BORDER,IDCANCEL,ES_BORDER,0) 表示缩放后,值为IDOK的控件,距离边界上下左位置保持不变,距离ID值为IDCANCEL的右方位置距离保持不变,水平和垂直方向尺寸拉伸;(当使用指定控件作为定位参数时候,确保指定控件的EASYSIZE在该宏前面) [Blog.Const.Net.Cn] 某同学使用easysize的心得: 近日在code project网站浏览时,看到一篇关于Dialog缩放的文章(http://www.codeproject.com/dialog/easysize.asp)。作者编写了一个短小精悍的宏,利用该宏,可以很轻易的实现Dialog的缩放。下面是该宏的使用方法和我在使用中的一些体会。 假设创建的对话框的类名是CMyDlg,具体过程如下: 步骤一:把easysize.h拷贝到CMyDlg项目文件夹中,同时在CMyDlg的.h文件和.cpp文件中加入#include "easysize.h"; 步骤二:在CMyDlg类的h文件中,加入DECLARE_EASYSIZE,注意结尾处不要加“;”。 class CMyDlg : public CDialog { DECLARE_EASYSIZE // Construction … } 步骤三:在CMyDlg类的OnInitDialog()函数的结尾处加入INIT_EASYSIZE, 注意此处结尾处要加“;”。 BOOL CMyDlg::OnInitDialog() { … // TODO: Add extra initialization here INIT_EASYSIZE; return TRUE; // return TRUE unless you set the focus to a control } 步骤四:增加WM_SIZE消息响应函数OnSize(),在函数中加入UPDATE_EASYSIZE,注意此处结尾处要加“;”。 void CMyDlg::OnSize(UINT nType, int cx, int cy) { CDialog::OnSize(nType, cx, cy); // TODO: Add your message handler code here UPDATE_EASYSIZE; } 步骤五:在CMyDlg的cpp文件中添加EASYSIZE 的宏映射 BEGIN_EASYSIZE_MAP(CMyDlg) EASYSIZE(control,left,top,right,bottom,options) END_EASYSIZE_MAP 注意:如果没有添加EASYSIZE 的宏映射就开始编译的话,会出现链接错误! 这里需要解释的是宏EASYSIZE()的用法,其原型如下: EASYSIZE(control,left,top,right,bottom,options) 该宏表示对ID值为control的控件实施缩放效果,缩放后的上下左右位置由control,left,top,right,bottom来确定,大小由option确定。 其中:control为对话框中的控件ID值,left,top,right,bottom四个参数为控件位置的坐标,其值可以选择ES_BOARD,ES_KEEPSIZE, 控件ID值三者之一。Options可以为ES_HCENTER, ES_VCENTER的结合,options可置0。 ES_BOARD表示控件与对话框边界(以下简称边界)的距离; ES_KEEPSIZE表示控件水平/垂直方向上尺寸保持不变; 控件ID值表示当前控件与指定控件之间的距离; ES_HCENTER表示缩放后控件在指定位置内水平居中; ES_VCENTER表示缩放后控件在指定位置内垂直居中; 例如: EASYSIZE(IDOK,ES_BORDER,ES_BORDER,ES_BORDER,ES_BORDER,0) 表示缩放后,值为IDOK的控件,距离边界上下左右位置保持不变,水平和垂直方向尺寸拉伸; EASYSIZE(IDOK,ES_BORDER,ES_BORDER,ES_BORDER,ES_BORDER,ES_HCENTER) 表示缩放后,值为IDOK的控件,距离边界上下位置保持不变,垂直方向尺寸拉伸,水平居中; EASYSIZE(IDOK,ES_BORDER,ES_BORDER,ES_BORDER,ES_BORDER,ES_HCENTER| ES_HCENTER) 表示缩放后,值为IDOK的控件,在对话框内垂直居中,水平居中; EASYSIZE(IDOK,ES_BORDER,ES_KEEPSIZE,ES_KEEPSIZE,ES_BORDER,0) 表示缩放后,值为IDOK的控件,距离边界左、下方位置保持不变,同时保持控件尺寸; EASYSIZE(IDOK,ES_BORDER,ES_KEEPSIZE, ES_BORDER,ES_BORDER,0) 表示缩放后,值为IDOK的控件,距离边界左、右、下方位置保持不变,水平方向尺寸拉伸,垂直方向尺寸不变; EASYSIZE(IDOK,ES_BORDER,ES_BORDER,IDCANCEL,ES_BORDER,0) 表示缩放后,值为IDOK的控件,距离边界上下左位置保持不变,距离ID值为IDCANCEL的右方位置距离保持不变,水平和垂直方向尺寸拉伸;(当使用指定控件作为定位参数时候,确保指定控件的EASYSIZE在该宏前面)

2013-11-15

图像处理——边缘检测

图像处理——边缘检测算法 ,含有Matlab程序和边缘检测的文档

2013-11-10

钢筋计数 面积统计

图像处理程序—钢筋计数,采用面积统计的方法

2013-11-10

火柴计数Matlab程序

图像处理大作业的入门程序 火柴计数Matlab程序

2013-11-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除