摘要: 进度条控件封装在CProcessCtrl类中1、SetRange和SetRange32方法来设置进度条显示范围。语法格式:void SetRange(short nLower, short nUpper);void SetRange32(int nLower, int nUpper);nLower:最小值,默认0;nUpper:最大值。SetRange方法设置进度条范围在短整型范围,SetRange32可在整形范围。2、设置进度条的方法SetPos(int nPos);nPos:表示设置的的新进度。返回值为之前的进度。StepIt();按照定义的步长前进。3、获得进度条的进度:GetPos() 阅读全文
posted @ 2014-03-26 17:00 冷冰若水 阅读(1149) 评论(0) 推荐(0) 编辑
摘要: 1、寻找文件时,CFileFind类的使用。2、寻找目录时使用BROWSEINFO,其中包含了用户选中目录的重要信息。3、LPITEMIDLIST类4、目录选择对话框的使用SHBrowseForFolder配合BROWSEINFO结构体,使用方法如下:http://baike.baidu.com/link?url=62Gqm5c5HMz5T2Hw4WD6hEKJk3mtkgOyTzyreHBPdgya6x04Hwm02Vdof0LhjYG7KlISUyK1N8RT7JGSQn5bXq#2 百度百科5、一定要得对变量初始化,例如char buf[255] = {0};否则可能会出现字符串无效6、 阅读全文
posted @ 2014-03-25 21:30 冷冰若水 阅读(565) 评论(0) 推荐(0) 编辑
摘要: 遍历文件目录,即把一个目录里的文件名都取出来。本文是CFileFind类的使用实例的笔记。下面的程序是从一个目录出发,把这个目录里的所有成员按着层次输出。代码如下:void TravelFolder(CString strDir, int nDepth){ CFileFind filefind; //声明CFileFind类型变量 CString strWildpath = strDir + _T("//*.*"); //所有文件都列出。 if(filefind.FindFile(strW... 阅读全文
posted @ 2014-03-25 10:40 冷冰若水 阅读(555) 评论(0) 推荐(0) 编辑
摘要: 打开目录选择对话框要使用到API函数SHBrowseForFolder来实现函数原型为:LPITEMIDLIST SHBrowseForFolder(LPBROWSEINFO lpbi);其中LPBROWSEINFO结构如下:typedef struct _browseinfo{ HWND h... 阅读全文
posted @ 2014-03-25 10:36 冷冰若水 阅读(1691) 评论(0) 推荐(0) 编辑
摘要: 树形控件可以显示出各项之间的层次关系,因此在VC中很常用。1、树形控件的常用风格TVS_HASBUTTONS 在父项目前显示+、-。用户可以通过点击该符号来打开或收起子项TVS_HASLINES 在层次中用线条来连接各个项目名称。TVS_LINESATROOT 在根目录下的项目也用线连接。2、树形控件的数据结构1.HTREEITEM句柄树形控件的每个节点都可以由一个TREEITEM类型的句柄表示。我们通过CTreeCtrl类的成员函数对树进行访问和操作时都需要使用到HTREEITEM句柄。2.TVITEM结构体TVITEM结构体描述了树形控件节点的属性,定义如下:3.NMTREEVIEW结构体 阅读全文
posted @ 2014-03-24 22:00 冷冰若水 阅读(722) 评论(0) 推荐(0) 编辑
摘要: 写在前面的话:C++中对文件的操作跟C语言是有很大差别的,因此总结一下C++对文件的操作。1、通常用法在C++中队文件的输入输出流和对内存的输入输出流以及对字符串的输入输出流接口是一致的,如果输入流能产生字节,可以用一个提取操作符从这个流中获取信息。这个提取符产生并格式化目的对象所期望的信息类型。虽然输入流用起来很方便,但是也有一个问题,在使用格式化的输入机制,尤其是标准输入时,会遇到和C语言中scanf()中同样的问题。如果输入一个非期望值,进程则被偏离,而且它很难恢复。另外,格式化的输入缺省以空格为分隔符。那么如下面的代码:#include using namespace std;int 阅读全文
posted @ 2014-03-19 20:41 冷冰若水 阅读(7520) 评论(0) 推荐(0) 编辑
摘要: 1、插入数据后,返回插入的Idinsert into userINfo(userName, userAge) output inserted.userId values('Julia', '27') 阅读全文
posted @ 2014-03-15 15:15 冷冰若水 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 写在前面的话:在日常的Sql server开发中,经常会用到Identity类型的标识列作为一个表结构的自增长编号。比如文章编号、记录编号等等。自增长的标识很大程度上方便了数据库程序的开发,但有时候这个固执的字段类型也会带来一些麻烦。1、修改标识列的字段值有时为了实现某些功能,需要修改类型为identity自增长类型的字段的值,但由于标识列的类型所限,这种操作默认是不允许的。比如目前数据库有5条正常添加的数据,此时删除2条,那么如果再添加数据时,自增长的标识列会自动赋值为6,可这时如果想在插入数据时赋值给3呢,默认是不允许的。如果你特别想改变这个值,完全由自己来控制该标识字段值的插入,方法还是 阅读全文
posted @ 2014-03-15 14:41 冷冰若水 阅读(5922) 评论(0) 推荐(0) 编辑
摘要: 写在前面的话:不管是网站开发中还是应用程序开发中,我们都会经常遇到需要将数据从一个表中导入导入到另一个表中,甚至需要指定导入字段。1、如果需要导入数据的表中结构和源表中结构一致的话,可以用下面这种用法:将数据从源表取出,新建表并将数据插入select * into NewTable from OldTable只将源表中的列拷贝到表中,并不拷贝数据select * into NewTable from OldTable where 1=0也就是让where条件永远为假,所以一条数据都不取将数据插入到已存在的表中insert into NewTable select * from OldTable 阅读全文
posted @ 2014-03-15 14:21 冷冰若水 阅读(2109) 评论(0) 推荐(0) 编辑
摘要: 写在前面的话:你是一个程序员么?如果是的话,那么在看下面这段话之前,问自己两个问题然后记录下答案。首先问自己:“什么是设计模式?”,然后再问”说出你能回忆起的设计模式的名字”。设计模式是什么呢?设计模式是用来解决软件开发中重复出现的问题,久经考验的方法。当程序员遇到反复出现的问题时,他们通过应用合适的设计模式来解决问题。设计模式是由最聪明的电脑科学家设计出来的,历经了时间的考验,它们被认为是最好的方法。使用设计模式,程序员不需要自己想办法解决所有的编程难题,他们可以使用设计模式。设计模式节约开发时间,能开发出更灵活、可靠和健壮的软件。设计模式重用了概念的想法,解决方法的设计理念,考虑了他人的使 阅读全文
posted @ 2014-03-13 08:56 冷冰若水 阅读(238) 评论(0) 推荐(0) 编辑