VS2010有‘快捷键’可以将‘选中的代码’加上“双引号”的吗?

myMugua 2011-03-02 10:00:19
用visual studio 2010,有时候觉得手动加 "" 比较麻烦,所以请教下各位大牛有没这个快捷键呢
...全文
2582 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lzhypt 2012-07-16
  • 打赏
  • 举报
回复
撤销是ctrl+z,引号的那个同求,怎么样才能在按下“=”后自动出现双引号??现在我是把代码写完了直接写出双引号,再把写的代码选中拖拽到双引号内,希望对大家有用
degeshiwo 2011-04-08
  • 打赏
  • 举报
回复
选中剪切了,打上双引号,再粘贴回去
  • 打赏
  • 举报
回复
箭头是 tab
点 是 空格
myMugua 2011-03-03
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 akirya 的回复:]
ctrl+r,ctrl+w
[/Quote]这些箭头出来了后,有什么作用啊?
  • 打赏
  • 举报
回复
ctrl+r,ctrl+w
碎碎念 2011-03-02
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 mymugua 的回复:]

对了,还有就是VS2010可以恢复默认设置吗?
比如乱按快捷键导致一些莫名其妙点和箭头在代码左边,有代码的左边都有这东西
可以清除的吗? 我好像是按ctrl + e 还是 + w按出来的
[/Quote]
试试ctrl+z返回
myMugua 2011-03-02
  • 打赏
  • 举报
回复
[Quote=引用楼主 mymugua 的回复:]
用visual studio 2010,有时候觉得手动加 "" 比较麻烦,所以请教下各位大牛有没这个快捷键呢
[/Quote]你知道怎么把visual studio 2010恢复到最开始的状态,我按快捷键按乱了,代码左边多了些莫名的点和箭头...
myMugua 2011-03-02
  • 打赏
  • 举报
回复
对了,还有就是VS2010可以恢复默认设置吗?
比如乱按快捷键导致一些莫名其妙点和箭头在代码左边,有代码的左边都有这东西
可以清除的吗? 我好像是按ctrl + e 还是 + w按出来的
  • 打赏
  • 举报
回复
木有,自己写宏吧,三五行就能搞定
arcgis工具总结 1. 要素的剪切与延伸 实用工具 TASK 任务栏 Extend/Trim feature 剪切所得内容与你画线的方向有关。 2. 自动捕捉跟踪工具 点击Editor工具栏中Snapping来打开Snapping Environment对话框 捕捉设置中有3个选项, vertex edge end 分别是节点、终点、和边,选择end应该会捕捉端点 3. 图斑面积计算及长度计算 应用工具CALCULATE AREA 或者使用VBA代码实现 新建字段并开启Advanced 写入代码,面积计算: Dim Output as double Dim pArea as Iarea Set pArea = [shape] 在最后的一个空格里面写入代码(即:字段名)pArea.area 长度计算: Dim Output as double Dim pCurve as ICurve Set pCurve = [shape] Output = pCurve.Length 4. 剪切图斑 Task任务栏 cut polygon feature工具,需要sketch工具画线辅助完成 5. 配准工具 Spatial Adjustment 工具 需要注意先要 set adjustment data 然后配准 6. 影像校正 Georeferncing工具 7. 要素变形 Task 工具条中的reshape feature 配合sketch工具 8. 添加节点 Modify feature 在需要加点的地方右键单击insert vertex 也可单击右键选择properties 打开edit sketch properties对话框,在坐标点位置右键插入节点 9. 共享多边形生成 Auto-complete polygon 工具生成共享边的多边形,配合snapping environment更好。 10. 画岛图 1).使用任务栏中的sketch工具,当画完外面的一圈时,右键 选择finish part 然后画中间的部分 再右键finish sketch 2).分别画连个图斑然后应用Editor 工具栏中的工具先intersect(图斑重叠的地方创建一个新的图斑)然后Clip(剪切)即可。(补充其他工具:Union,把多个图斑联合起来并形成一个新的连接在一起的图斑,原图斑无变化,联合后的图斑不继承原任何图斑的属性;Merge,把多个图斑合并到其中一个图斑上并继承它的属性,原图斑变化;Split用于间断线段,但得知道具体的长度,如果不知道那么长度或者没必要那么精确就直接用Eeitor工具栏的Split tool工具 ) 11. 连接外界属性数据(如:.xsl文件等) 利用JOIN 工具可以方便的实现与外界属性数据的关联,但这种关联是依赖于外界数据库本身的,需经过重新导出之后即完全保存在相应图层属性页。在做外联如EXCEL等的时候对数据有一些要求,确保第一行包含字段名,这些字段名不能超过十个字母,不能出现特殊字符。最好把EXCEL保存为.csv文件去除一些不兼容的内容再连接。 转载ESRI论坛Lucy1114帖子说明: 12. 导出Shape格式为其他软件识别的打印格式如JEPG等格式 FILE/EXPORT MAP 然后选择相应的图片格式,此时也可设置答应的分辨率 pdi 13. 建立注记层 方法一.carvert to Ananotation ,方法二.Draw工具条 方法三.从其他地方转换注记图层 14. 查看特定区域范围内的某种地物分布情况 Selection / select by location 15. 如何用面生成中线 先把数据转成coverage格式,workstion里有Centerline命令。 另外ArcToolBox->Data Management Tools->Generalization->Collapse Dual Lines To Centerline也行。不过以上做法要求边界是双线。你必须先把面转成线,特别是参数的设置。也可以尝试下sketch工具条中的midpoint tool 后面有详细的讲解过程。 16. 根据坐标数据生成点 方法一. :[工具] >>[添加XY 数据],在“添加XY 数据”窗口中,选择已添加的 XY 数据表,指定X 坐标字段(东经)和Y 坐标字段(北纬),按“编辑”按钮,选择坐标系统。一般GPS系统采用的坐标系统为WGS_1984。 方法二.直接用TOOL工具下的ADD XY 可以单个加点 17. 用任意多边形剪切栅格数据(矢量数据转换为栅格数据) 在ArcCatalog下新建一个要素类(要素类型为:多边形),命名为:ClipPoly.shp 在ArcMap中,加载栅格数据:Landuse、和ClipPoly.shp 打开 编辑器工具栏,开始编辑ClipPoly ,根据要剪切的区域,绘制一个任意形状的多 边形。打开属性表,修改多边形的字段“ID”的值为1,保存修改,停止编辑。 打开 空间分析工具栏 GIS软件应用-ArcGIS 执行命令:--- 指定栅格大小:查询要剪切的栅格图 层Landuse 的栅格大小,这里指定为25 指定输出栅格的名称为路径 执行命令: - 构造表达式:[Landuse]*[polyClip4-polyclip4] ,执行栅格图层:Landuse 和 用以剪切 的栅格polyClip4 之间的相乘运算 GIS软件应用-ArcGIS 得到的结果即是以任意多边形剪切的Landuse数据 18. 栅格重分类(Raster Reclassify) 通过栅格重分类操作可以将连续栅格数据转换为离散栅格数据 19. Eliminate合并破碎多边形 以下的操作将会把面积小于10000 平方米的多边形合并到周围与之有最长公共 边的多边形中: 执行菜单命令[选择]>>[通过属性选择],查询”Area”Masking Tools->Intersecting Layer Masks,为注记创建模版,模版的大小用参数Margin来决定 3).右键点击数据框,在环境菜单中选择高级绘制选项(Advanced Drawing Options),用注记的模版图层去遮盖线图层,确定 23.同一图层使用Clip实现图斑的无缝拼接 当一个图斑的边界确定,需要实现两个图斑的无缝拼接时,可以把图斑拉伸覆盖确定边界的图斑的一部分,然后用下面的图斑剪区上面的图斑。 方法二:图斑之间有小的缝隙,可以先在缝隙上任意补画一个图斑,然后合并(merge)图斑,最后再剪切(Clip)即可得到无缝的图斑。 如下图所示: 24.利用两个相交图斑创建新图斑。 两个图斑都选中然后 Eidtor 工具条intersect,此方法原图斑不会被接切。 25.属性表中选择集与非选择集的切换 Options/switch selection 26.快速把选择的要素另存为一个图层并加载进来。 先选责需要另存图层的要素(直接选择或者属性表),然后在图层上右键Selection/create Layer From Selected Features。 (以前都是直接export竟然没有发现) 27.利用Hyperlinks丰富数据库,为其添加超链接。 单击rowse工具栏中Identify按钮。 单击地图中一个要素,在Identify Results窗口右击需要设置超链接的要素,然后点击Add Hyperlink菜单。若要将一个Web页加为超链接,单击项,并输入URL。要链接到一个文档,单击Link to a Document,并输入文档路径名。 单击Tools工具栏中的Hyperlink工具,并单击图上某一个要素即可实现。 使用一个属性字段作为超链 在内容表中右击包含一个超链接字段的图层,然后点击properties ,单击Display选项卡。选中Supprt Hyper3. Hyperlinks using field选项,单击下拉箭头并点击一个字段。 单击Document or URL。单击OK,单击Tools中的Hyperlink按钮,将鼠标指移到一要素上并单击以显示其超链接。 28.Arcmap中的SQL语言 当查询ArcInfo coverages, shape文件, INFO表以及dBASE表时,SQL表达式中的字段名必须用双引号扩起。如:“AREA”,如果查询的是个人地理数据库数据,则需要将字段名包含在方括号内,如:[AREA],如果查询的是ArcSDE地理数据库数据或是ArcIMS要素类或ArcIMS影象服务子层中的数据,则不需要将字段名括起,如:AREA 有些运算符和关键字也可能有所变化。 在查询表达式中,字符串必须加单引号,例如: [STATE_NAME]=‘California’ 除个人地理数据库要素类和表之外,查询表达式中的字符串是区分字母大小写的。如果搜索不需要区分大小写,可以使用SQL函数将所有的值都转换成大写或者小写。对于基于文件的数据源,例如shape文件或coverages,既可以使用UPPER函数,也可以使用LOWER函数。 例如下面这个查询将选出那些姓名的最后为Jones或JONES的顾客。 UPPER("LAST_NAME") = 'JONES' 可以用LIKE运算符(不是 = 运算符)与通配符一起构建部分字符串查询。 例如,表达式 [STATE_NAME] LIKE 'Miss*'将在美国州名中选择Mississippi和Missouri。 *表示多个字符。 还比如,查询表达式 [OWNER_NAME] LIKE '?atherine smith' 将找出Catherine Smith和Katherine Smith。 ?表示单个字符。通配符的使用依赖于不同的数据库。例子中使用的通配符只适用于个人地理数据库。 可以使用NULL关键字来选择那些在指定字段中值为NULL的要素和记录。通常,NULL关键字的前面总有IS或IS NOT。 29.Select by location小结 按位置查找要素的方法 使用按位置选择(Select By Location) 对话框,可以根据要素间的相对空间位置进行查找。可以使用多种方法,查找在同一图层中或不同图层间相互邻近或叠置的点、线、多边形等要素。 被…跨越边界(Are crossed by the outline of) 利用这种方法,选择被另一图层要素覆盖的某个图层上的要素。例如,搜索道路跨越的荒地,得到的结果是道路跨越其边界的所有荒地。 相交(Intersect) 与Are crossed by the outline of类似,但是该方法可以选择与参照要素接连的要素。例如,选择与道路相交的荒地,选择的结果将包括该道路在其边界范围之内或在其边界之上的所有荒地。 在…距离范围内(Are within a distance of) 这一方法将选择同一图层或不同图层上相邻或邻近的要素。例如,现有一个包括清洁井和污染井的图层,使用该方法可以找出距离污染井500米范围内的所有清洁井。同样,也可以找出距离污染井500米范围内其他图层上的水库和农田。还可以用该选项选择与其他要素相毗邻的要素。例如,假如用户已选定了公司可能购买的地块,现在想获取邻近地块的信息。这种情况下,利用该选项选择选中地块零距离范围内的所有地块即可。 中心在…里(Have their center in) 这种方法选择某一图层上的要素,其中心点落在另一图层要素中。 完全在…内(Are completely within) 这种方法选择完全落在另一图层多边形内部的某一图层上的要素,例如,选择林区里面的湖泊。通过指定一个缓冲距离,可以选择落于多边形内部并距离多边形边界一定范围内的所有要素。例如,选择林区内部500米范围内的湖泊。 完全包含(Completely contain) 这种方法选择某一图层上完全包含另一图层上的要素的多边形。例如,选择内部包含湖泊的林区。通过指定一个缓冲距离,可以选择在其内部一定范围内包含要素的多边形。例如,对湖泊做缓冲区,可以选择距离湖泊500米范围内的林区。 与…有公共线段(Share a line segment with) 这种方法选择那些与其他要素具有公共线段、顶点或节点的要素。 与…等同(Are identical to) 这种方法选择与另一图层中某一要素具有同样几何形状的所有要素。这时,要素类型必须相同。举个例子:必须用多边形选择多边形,用线段选择线段,用点选择点。 包含(Contain) 这种方法选择某一图层中包含另一图层中要素的要素。这种方法与完全包含(Completely contain)方法的区别在于:要素间的边界可以接触。例如,使用包含(Contain)方法,即使湖泊的边界和包含该湖泊的森林的边界接触,森林也会被选中。但是在用完全包含(Completely contain)方法时,森林是不会选中的。 包含于(Are Contained by) 这种方法选择某一图层中被另一图层中要素包含的要素。例如,选择被乡村包围的城市。这种方法和完全包含于(Are completely within)方法的区别在于,要素的边界可以接触。 与…接触(Touch the boundary of) 如果使用包含线的图层来选择要素,则该方法将选择那些与此图层里的线有公共线段,顶点或端点(节点)的线和多边形要素。如果跨越了线,则这些线和多边形将不会被选中。 如果使用包含多边形的图层来选择要素,则该方法将选择那些与此图层里的多边形边界有公共线段或顶点的线和多边形要素。如果跨越了多边形边界,则这些线和多边形将不会被选中。 31. 将选中的要素放大至整个窗口 在内容表中右击包含选中要素的图层,单击Selection菜单,并单击Zoom To Selected Features子菜单。 选中要素将放大至整个ArcMap窗口。 32.显示选中要素的属性 在内容表中右击选中要素所在图层,单击Open Attribute Table,单击Show Selected records。 窗口中显示出选中要素的属性记录。也可以打开属性表在select和all之间切换。 33. 通过单击要素添加文本 1). 在内容表中,右击需要添加标注的图层,单击Properties。 2). 单击Labels选项卡。 3). 单击Label Field下拉箭头,单击作为标注的字段。 4). 单击OK。 5). 单击Draw工具条上的Label按钮。 应该是只需单击下拉箭头选择Label按钮。 6). 单击Place label at position clicked。 如果选择了Automatically find best placement,ArcMap会自动的为标注寻找合适的位置。 7). 单击Choose a style,然后单击需要的标注样式。 8). 在需要标注的要素上单击鼠标,标注就添加上去了。 (先在Draw工具条下新建标注组方便管理,New Annotation Group) 34. 标注工具条和标注管理器 如果图层中有一些要素需要指定特殊的标注属性,需要在标注管理器中生成其它的标注类。 点击左侧面板上的一个图层,在右侧面板上为其添加一个新的标注类。 个人认为此方法虽然没有转为注记后的标注灵活,但却可以方便的实现自动相对智能化的标注,相比之下更省心,提高效率。 35. 在进行地图查询或编辑的时候为什么会总是选中所有的图层 诀窍在这里(虽然是一点点小问题,但当我第一次遇到这个问题时却花费了我不少时间,甚至于怀疑自己的数据有问题) 36.建立拓扑关系检查图斑 先根据需要在Catalog中建立相应的拓扑关系规则,然后在Arcmap中进行拓扑处理,辅助工具条Topolygon,下图所示为重叠图斑检查。(也可以在Arctoolbox下的Data Management tools/topology来做) 有关geodatabase的topology规则 多边形topology 1).must not overlay:单要素类,多边形要素相互不能重叠 2).must not have gaps:单要素类,连续连接的多边形区域中间不能有空白区(非数据区) 3).contains point:多边形+点,多边形要素类的每个要素的边界以内必须包含点层中至少一个点 4).boundary must be covered by:多边形+线,多边形层的边界与线层重叠(线层可以有非重叠的更多要素) 5).must be covered by feature class of:多边形+多边形,第一个多边形层必须被第二个完全覆盖(省与全国的关系) 6).must be covered by:多边形+多边形,第一个多边形层必须把第二个完全覆盖(全国与省的关系) 7).must not overlay with:多边形+多边形,两个多边形层的多边形不能存在一对相互覆盖的要素 8).must cover each other:多边形+多边形,两个多边形的要素必须完全重叠 9).area boundary must be covered by boundary of:多边形+多边形,第一个多边形的各要素必须为第二个的一个或几个多边形完全覆盖 10).must be properly inside polygons:点+多边形,点层的要素必须全部在多边形内 11).must be covered by boundary of:点+多边形,点必须在多边形的边界上 线topology 1).must not have dangle:线,不能有悬挂节点 2).must not have pseudo-node:线,不能有伪节点 3).must not overlay:线,不能有线重合(不同要素间) 4).must not self overlay:线,一个要素不能自覆盖 5).must not intersect:线,不能有线交叉(不同要素间) 6).must not self intersect:线,不能有线自交叉 7).must not intersect or touch interrior:线,不能有相交和重叠 8).must be single part:线,一个线要素只能由一个path组成 9).must not covered with:线+线,两层线不能重叠 10).must be covered by feature class of:线+线,两层线完全重叠 11).endpoint must be covered by:线+点,线层中的终点必须和点层的部分(或全部)点重合 12).must be covered by boundary of:线+多边形,线被多边形边界重叠 13).must be covered by endpoint of:点+线,点被线终点完全重合 14).point must be covered by line:点+线,点都在线上 Topology工具条及功能介绍: 37.给多个要素同一赋值 选中你需要同一赋值的是所有图斑,然后点击Atrributes,此时出现属性修改对话框,点击根目录是对所有要素同一赋值,点击下面的支目录则可以分别赋值。(也可以用字段计算器实现) 38.如何根据确定的点画出以他相应的点 例如:我在地图上已经指导了一个一直点,而其他的点在地图上都是以他为中心画出来的。学校  SE60度,140米  意思是学校在中心点南偏东60度,距离是140米,这样的点在arcmap中怎么加呢?我的方法有二分别如下。 1). 确定已有一个点图层,其中有学校,然后: 对该图层开始编辑 选择工具栏editor---direction-distance tool 以中心点为中心,先画角度线(arcmap左下角会有角度提示),再画距离/半径(注:画的过程中点击A键可以输入角度值,点击D键可以输入距离值) 确定,即可 如果找不到direction-distance tool 的同志请看下面 Direction-distance tool is here 第二种方法就是直接编写代码实现 下面是一段示例的VBA代码(本段代码作者:GIS空间站 knight_sl) Option Explicit Dim dPoint(2, 1) As Double Sub aaa() Call bbb Dim aa As IMxDocument Set aa = ThisDocument Dim pFLyr As IFeatureLayer Set pFLyr = aa.FocusMap.Layer(0) Dim pFCsr As IFeatureCursor Dim pFt As IFeature Set pFCsr = pFLyr.FeatureClass.Update(Nothing, False) Set pFt = pFCsr.NextFeature Dim pPoint As IPoint Set pPoint = pFt.ShapeCopy Dim pNewPoint As IPoint Dim X0 As Double, Y0 As Double Dim X As Double, Y As Double Dim dAngle As Double Dim i As Long For i = 0 To UBound(dPoint, 1) Set pFt = pFLyr.FeatureClass.CreateFeature Set pNewPoint = New Point dAngle = dPoint(i, 0) * 3.14159263579893 / 180 pNewPoint.X = dPoint(i, 1) * Cos(dAngle) + pPoint.X pNewPoint.Y = dPoint(i, 1) * Sin(dAngle) + pPoint.Y Set pFt.Shape = pNewPoint pFt.Store Next Set pFLyr = Nothing Set pFCsr = Nothing Set pFt = Nothing Set pPoint = Nothing Set pNewPoint = Nothing End Sub Sub bbb() '定义新加三个点的角度和距离 dPoint(0, 0) = 10 dPoint(0, 1) = 150 dPoint(1, 0) = 30 dPoint(1, 1) = 170 dPoint(2, 0) = 120 dPoint(2, 1) = 200 End Sub 这中方法做起来需要一点编程经验,但是比上面那中一个一个的画的方法要先进多了,可以把所有的点录入同时画出来。 如果你不会VBA编程,请看下面: 这是ArcGIS VBA的程序,运行的方法: 1),运行ArcMap,加载所需图层; 2),Tools菜单/Macros(宏)/Visual Basic Editor(VB编辑器),这样打开VB编辑器 3),双击打开VB编辑器左上工程资源管理器中的Project/ArcMap对象/ThisDocument,把上面的代码粘进去。注意看首行 Option Explicit如果有两行,就删除一行。 4),点击VB编辑器工具栏的运行按钮运行(或菜单 运行/运行子过程),就可以了,再激活ArcMap可以看到发生了什么! 或者还有一种创建宏的方法(不过建议对ArcGIS VBA不大熟的同志不要用这种方法): 1),运行ArcMap,加载所需图层; 2),Tools菜单/Macros(宏)/Macros,这样打开宏编辑器 3),在宏名称中输入aaa,确定后,会打开VB编辑器,将看到有一个aaa的过程,没有实体。你把上面的aaa过程中的代码粘进去,然后在前面加上 Option Explicit(这个别重复了哈) Dim dPoint(2, 1) As Double 就可以。 4),点击VB编辑器工具栏的运行按钮运行(或菜单 运行/运行子过程),就可以了,再激活ArcMap可以看到发生了什么! 39.这里说道了工具的使用,那么就简单的再介绍下Sketch中的几个工具吧 Sketch construction tools的使用: Sketch tool:主要是用来创造线和面特征的节点,在你完成了草图之后,ArcMAP就会增加最后的线段,形成矢量图。 Arc tool:这个主要是帮你创造一个弧段的,选中这个工具后,先在弧段起点点一下,然后在弧段高度方向大致位置点一下(这个点是不可见的,只是给你确定弧段的高度),最后在弧段的终点点一下,就形成一条弧段了。 Direction-distance tool:这个主要是从已知某一个方向和某一个距离来确定一个点。首先点一个已知方向的点,这是会有一条线出来,你确定好方向后,再点已知距离的点,这是出来一个圆,确定距离后,直线和圆有交点,这就是你要的点,再上面点一下就ok! Distance-distance tool:这个和上面的一样的道理,只是它都用距离来确定一个点,也就是两个圆确定你要的点。 Endpoint arc tool:这也是创造弧段用的,与Arc tool 工具不同的是,它是先在弧段的起点点一下,然后在弧段的终点点一下,再点一个点确定弧段的半径。个人认为这个工具要比Arc tool工具更精确些。 Intersection tool:就是利用两条直线确定一个点。很简单一用就会! Midpoint tool:确定中点的工具,比如马路的中点,你可以先点一边,再点马路另一边,这时马路的中点自动出现了。 (画道路中线太可以试试,不过得是直线道路咯,^_^) Tangent tool:相切弧段工具,它能够在一条线段上画出一条切线,只有你用其他工具画了线段出来时你才可以用这个工具。 Trace tool: 主要是用来在跟踪已存在的特征,比如一栋房子,你要沿房子外围画一条线(比如围墙),那么你使用这个工具就非常方便,首先开始时你必须按O键,设置下跟踪的间距,如100,其中还有三个角点的方式:mitered是直角 bevelled 是钝角rounded是圆角。(感觉那效果有点像CAD的偏移咯) 40.如何标注多个字段的属性及分子式标注 Propertis/label field /expression 实例:""& [单位名称] &"" & VbCrLf & " " & [PARCEL_NO] 输出分数线 VbCrLf 换行 效果图: 引用GIS空间站 兔八哥文章详解 以前用ArcGIS Label一般也就在图层的Properties里面定义一下Label字体大小和粗细。这两天遇到一个问题,需要在Label中显示多个字段的内容,比如BlockName和CompanyName。其实这个本来不是很难的问题,因为Label中支持VBScript,使用[BlockName] & VbNewLine & [CompanyName]。就可以实现标注中第一行显示BlockName,第二行显示CompanyName. 现在问题出来了,出图时候希望突出BlockName效果,希望加粗显示,而CompanyName使用一般字体。考虑了很长时间终于从ArcGIS帮助中找到了相关的内容,原来Label的VBScript里面支持类似于Html的VBScript标签,比如加粗就是用,上面问题就可以使用下面语句解决: "" & [BlockName] & "" & VbNewLine & [CompanyName] 除了加粗,ArcGIS中还支持下面的文本格式标签: Font: "" & [LABELFIELD] & "" Color: "" & [LABELFIELD] & "" "" & [LABELFIELD] & "" Bold: "" & [LABELFIELD] & "" Italic: "" & [LABELFIELD] & "" Underline: "" & [LABELFIELD] & "" All caps: "" & [LABELFIELD] & "" Small caps: "" & [LABELFIELD] & "" Superscript "" & [LABELFIELD] & "" Subscript: "" & [LABELFIELD] & "" Character spacing (%): "" & [LABELFIELD] & "" Word spacing (%): "" & [LABELFIELD] & "" Leading (pts): "" & [LABELFIELD] & " nFZLength Then For i=0 To (nFMLength-nFZLength)/2 strLeftSpace =strLeftSpace +chr(32) strRightSpace =strRightSpace + chr(32) Next End If FindLabel = "" &strLeftSpace; & [OBJECTID]&strRightSpace;& ""&chr;(13)&chr;(10)& [SHAPE_Area] End Function 41.用点构面 ArcToolBox->Samples->Data Management->Features->Create Features From Text File 点组成面,最重要的是点序的排列,因此对数据的组织有一定的要求。 42.几个常用的VBA代码 在ARCGIS属性表中增加需要的字段,并自动赋值 使用方法 1打开属性表,选择计算的字段,右点选择Calculate Values;2.选择“是”,进入Field Calculator; 2选择Advance选项; 3 在Pre-Logic VBA Script Code编辑框中输入VBA代码; 4在下面编辑框中输入赋值部分. 1--点坐标X VBA部分: Dim pGeo As IGeometry Set pGeo = [Shape] Dim pPoint As IPoint Set pPoint = pGeo 赋值部分: pPoint.X 2--点坐标Y VBA部分: 同上 赋值部分: pPoint.Y 坐标值为文件存储的固有值,和是否使用On the Fly坐标表示无关。返回当前显示的坐标值参看8,9 3--多边形周长 VBA部分: Dim pGeo As IGeometry Set pGeo = [Shape] Dim pPolygon As IPolygon Set pPolygon = pGeo 赋值部分: pPolygon.Length 4--多边形面积 VBA部分: Dim pGeo As IGeometry Set pGeo = [Shape] Dim pPolygon As IPolygon Set pPolygon = pGeo Dim pArea As IArea Set pArea = pPolygon 赋值部分: pArea.Area 5--多边形重心X VBA部分: Dim pGeo As IGeometry Set pGeo = [Shape] Dim pPolygon As IPolygon Set pPolygon = pGeo Dim pArea As IArea Set pArea = pPolygon Dim pPoint As IPoint Set pPoint = pArea.Centroid 赋值部分: pPoint.X 6--多边形重心Y VBA部分: 同上 赋值部分: pPoint.Y 7--Polyline长度 VBA部分: Dim pGeo As IGeometry Set pGeo = [Shape] Dim pPolyline As IPolyline Set pPolyline = pGeo Dim pCurve As IPolycurve Set pCurve = pPolyline 赋值部分: pCurve.Length 8--表示点坐标X VBA部分: Dim pDoc As IMxDocument Set pDoc = ThisDocument Dim pSpRef As ISpatialReference Set pSpRef = pDoc.FocusMap.SpatialReference Dim pClone As IClone Set pClone = [Shape] Dim pGeo As IGeometry Set pGeo = pClone.Clone Dim pPoint as IPoint Set pPoint = pGeo pGeo.Project pSpRef 赋值部分: pPoint.X 9--表示点坐标Y VBA部分: 同上 赋值部分: pPoint.Y 坐标值为On the Fly显示的坐标,不是文件存储的固有坐标 10--连续编号 VBA部分: Static lCount as long lCount=lCount+1 赋值部分: lCount (从1开始) lCount-1 (从0开始) 计算面的中点 Dim Output As Double Dim pArea As IArea Set pArea = [Shape] Output = pArea.Centroid.X(或y) 当然这是很老的方法了,现在arcgis9.2以后都不需要用VBA啦,右键属性表字段然后直接选择 Caculate Geometry就可以实现比如面积计算,X,Y坐标等的属性赋值了咯。 43. 在同一图层如何对同一要素的不同部分以不同的符号表示 (注:要实现这种渲染需要两段具有不同的属性) 44.自己做arcMAP的图例 在Symbol property Editor中进行制作了 1)、先在Style Manager中的左侧列表中,选择相应的Style文件,ArcGIS默认的符号库文件是ESRI.Style文件,当然也给出了C:\Documents and Settings\........................................目录下用于用户自定义的Style文件 2)、展开Style文件,选择要创建Symbol的类型,如:Fill Symbol(面填充)、Line Symbol(线)、Marker Symbol(点) 然后在右侧的列表中鼠标右键->New 3)、在弹出的Symbol Property Editor窗体中,进一步选择Marker Symbol的类型,如:Simple Marker Symbol、Picture Marker Symbol等等 4)、这个时候就要根据需要开始设计符号的各种属性了,由于不同种类的Marker Symbol有不同的属性,因此,属性也会不尽相同。 5)、另外介绍一个经常需要或比较使用的步骤,我们需要设计的符号可以由ESRI提供的现有符号组合而成,那么我们则需要添加2个Symbol Layer,然后进行2个Symbol Layer的叠加 6)、分别设置上述2个Symbol Layer的中的Symbol的属性,之后确认保存,这样会在Style Manager中看到我们新制作的符号 如图: (注:以上内容转载自ESRI社区 gis27) 45.计算属性中相同的字段个数 选择要计算的字段然后右键选择Summarize根据相应的要求设置参数即可实现。功能示意如下图: 46.自动提取面的中点并加点 Arctoolbox->Feature-> Feature to Point 47.合并属性相同的相邻图斑 使用Dissolve 当选择了create multipart feature时,所有具有相同属性的图斑将链接在一起做为一个图斑。 48.提取图斑转折点坐标 如果没有伪节点那么,选中一个线或者面,打开sketch Properties,就可以看到节点坐标。 还有一种方法就是:通过toolbox-datamanagement-feature-FeatureVerticesToPoints得到转折点的图层然后Add XY Coordinates,该点图层的属性表中就包含了X,Y字段,将其导出,就得到转折点坐标了。 ArcMap中设置.mxd相对路径 复制拷贝地图文档后再次打开会遇到图层前一个!的标识符号,是因为加载图层的相对路径变化了,需要重新指定图层位置。对此将.mxd文档设置为相对路径起到作用,具体做法如下: (1)File-->Document Properties-->打开对话框中,点击Data Source Options...按钮; (2)选中store relative path names to data sources单选框,并勾选Make relative paths the defalut of...前的复选框。 以上两步操作即可。 在dissolve时,出现 ERROR 000354: The name contains invalid characters Failed to execute (Dissolve). End Time: Thu Mar 24 09:32:47 2011 (Elapsed Time: 0.00 seconds) output文件包括无效字符如中划线等 Geometry First [Editor's note: I was having trouble last week dissolving a shapefile based on a common attribute. I kept getting the following error: "Invalid Topology [INCOMPLETE_VOID_POLY]“. Not entirely helpful! A little Google searching turned up the following tip from ESRI.] Republished from ESRI. Problem: Some Overlay Tools, such as Intersect, return unexpected results or fail Description Results do not look correct or operations fail with strange errors such as: “Invalid Topology [INCOMPLETE_VOID_POLY]“. If this type of error has occurred, it is most likely to occur when using one of the following: Clip, Erase, Identity, Intersect, Symmetrical Difference, Union, Update, Split Featureclass to Coverage, Dissolve, Feature to Line, Feature To Polygon, Integrate, or ValidateTopology. Cause It is possible that tool outputs may be strange or incorrect because one or more features in the input feature class have geometry problems. Some examples of geometry problems are: • short segments • null geometry • incorrect ring ordering • incorrect segment orientation • unclosed rings • self-intersections or empty parts Solution or Workaround If such errors occur or the output looks incorrect, the first step in assessing the situation is to run the ArcToolbox tool Data Management Tools > Features > Check Geometry. -show me This tool provides a list of the invalid features in the feature class and a short description of the problem. Features with problems can be fixed in one of two ways: Editing the feature class with the geometry problem, and fixing each individual problem identified. Some of these problems, like non-simple geometry, can be fixed by double-clicking the feature in the editor and saving the edits. Running the ArcToolBox tool Data Management Tools > Features > Repair Geometry on the feature class containing the problem features 昨天检查一区属性发现一区图层的面积属性shape_area竟然出现了负值,想必是数据转换的时候出现了问题。今天在论坛求证了一下,感谢各位的解答。 ArcGIS默认顺时针图形为正,手工画polygon的时候不管怎么画结果都是顺时针的。所以一般负值的出现是转换过程出现问题,polygon是由ring组成的,ring则是有更小的segement(line,circularArc,ellipticalArc,beziercurve)构成,所具有方向性。 解决方法是用ArcTool中的check geometry和 repair geometry工具,上述的检查结果是Incorrect ring ordering。repair后会自动修复错误,已解决。 此外,repair工具只能修复以下五种错误: Null geometry—The feature will be deleted from the feature class. Short segment—The geometry's short segment will be deleted. Incorrect ring ordering—The geometry will be updated to have correct ring ordering. Incorrect segment orientation—The geometry will be updated to have correct segment orientation. Self intersections—The geometry's segments that intersect will be split at their intersection. Unclosed rings—The unclosed rings will be closed. Empty parts—The parts that are null or empty will be deleted. 更多的错误修复参照帮助中的 How to salvage a corrupt shapefile
第1章 开发环境 1 1.1 环境设置 2 0001 如何定制工具栏 2 0002 如何定制组件面板 2 0003 如何定制代码编辑器 3 0004 保存自定义开发环境桌面 4 1.2 组件安装 4 0005 安装ActiveX组件 4 0006 安装不同类型的第三方组件 5 0007 在Delphi中加载QReport报表组件 7 1.3 创建DLL文件 8 0008 生成一个DLL文件 8 0009 调用DLL文件 8 1.4 窗体相关操作 9 0010 将组件置前/置后 9 0011 如何锁定窗体中的组件 9 0012 如何改变窗体上的网格大小 10 0013 组件的选取 10 0014 改变窗体Hint背景色 11 0015 以原始风格显示控件的滚动条 11 0016 使用快捷键打开对象观察器中的“...”按钮 11 1.5 其他相关应用技巧 11 0017 安装合适的Delphi版本 11 0018 熟练掌握Delphi中的菜单项 12 0019 构成Delphi项目的主要文件 12 0020 如何在程序中调用帮助文件 12 第2章 语言基础 17 2.1 基础语言 18 0021 如何对代码进行注释 18 0022 Exit语句的使用 18 0023 有效地使用Self对象 19 0024 声明局部变量、类变量和全局变量 19 0025 有效利用条件语句和嵌套条件语句 20 0026 有效利用循环语句和嵌套循环语句 21 0027 使用GoTo跳转语句 21 0028 有效使用Case Else语句 22 0029 保证数组循环的安全性 22 0030 获取枚举值列表 23 0031 使两个变量位于同一个地址空间 23 0032 利用动态数组作为函数参数 24 0033 调用Register过程的注意事项 24 0034 在Delphi中禁止使用result 24 0035 如何在Delphi中录制代码 24 0036 如何编译器会提示数组太大时的处理技巧 25 0037 如何对超大数字进行计算 25 0038 强类型的定义及使用 25 2.2 类、函数、重载 25 0039 在函数的定义中正确使用var 25 0040 如何实现类的转形 26 0041 如何实现数据加密与解密算法 27 0042 如何继承父类的方法 27 0043 如何实现函数重载 28 0044 类中多态的应用 28 0045 将函数作为参数进行调用 30 2.3 参数与指针 30 0046 通过指针读写数据 30 0047 在过程中使用常量参数 31 0048 在过程中使用数组参数 31 0049 在过程中使用默认参数 31 2.4 其他 32 0050 如何在字符串中使用单引号 32 0051 结构对象的定义与使用 32 0052 使用数组为TlistView组件动态创建字段 33 0053 解决程序的死锁问题 34 0054 怎样实现接口委托 34 0055 在Delphi中使用汇编 35 0056 为程序设置版本和帮助信息 36 0057 动态链接库的创建与调用 36 0058 String类型和Pchar类型的用法和区别 36 0059 如何捕获异常 37 0060 TStrings与TStringList的使用 37 0061 如何实现窗体文件转换 37 第3章 程序算法 39 3.1 计算类算法 40 0062 如何计算1~100的阶乘和 40 0063 如何实现最大公约数 40 0064 如何实现最小公倍数 41 0065 如何实现裴波纳契数列求和 42 0066 如何实现百钱百鸡算法 42 0067 如何实现哥德巴赫猜想 43 0068 如何实现韩信点兵 44 0069 求水仙花数的算法 44 0070 求1000以内的完数 45 0071 如何计算x的y次方 46 3.2 复杂计算类算法 46 0072 如何实现金额大小写转换的算法 46 0073 如何计算时钟的指针位置 47 0074 如何计算汉字笔划 48 0075 如何计算两个日期之间的天数、周数、分钟数 49 0076 如何实现数字斜塔 50 0077 如何实现杨辉三角 51 0078 如何实现CRC算法 52 0079 如何将B转换成GB、MB和KB 52 3.3 判断及转换类算法 53 0080 判断IP地址是否合法的算法 53 0081 判断身份证是否合法的算法 54 0082 判断素数的算法 55 0083 将字符串转换成Unicode格式 56 3.4 排序及分组类算法 56 0084 利用回溯法将一组数平均分成两组 56 0085 利用冒泡法对数字进行排序 58 0086 用回溯法找出n个自然数中取r个数的所有组合 58 0087 0~N位数的任意组合 59 0088 在数组中快速查找近似值 60 0089 实现直接插入法排序 61 第4章 函数应用 63 4.1 字符串处理函数 64 0090 使用Uppercase函数将小写字母转换为大写字母 64 0091 使用Lowercase函数将大写字母转换为小写字母 64 0092 使用Copy函数获取一个字符串的子串 64 0093 使用LeftStr函数从左边取得指定个数的字符串 65 0094 使用RightStr函数从右边取得指定个数的字符串 65 0095 使用Length函数取得一段字符串的长度 65 0096 使用Pos函数返回子字符串第一次出现的索引值 66 0097 使用Quotedstr函数返回字符串的引证串 66 0098 使用Trim函数删除字符串的首尾空格 66 4.2 数学计算函数 67 0099 使用Abs函数返回指定数值的绝对值 67 0100 使用Mod函数计算1~10之间的奇数和 67 0101 使用Div函数做整除操作 68 0102 使用DivMod函数返回两个操作数相除的商和余数 68 0103 使用Power函数返回底数的任何次幂 69 0104 使用Round函数将实数四舍五入为整数 69 0105 使用Sqr函数计算指定数的平方 70 0106 使用Mean函数计算平均数 70 0107 求最大浮点数和最小浮点数 71 4.3 序数函数 72 0108 使用Odd函数改变StringGrid组件的奇偶行颜色 72 0109 使用Pred函数获取顺序类型表达式的前驱 72 0110 使用Succ函数获取顺序类型表达式的后继 73 4.4 进制转换相关函数 73 0111 如何将二进制转换为八进制 73 0112 如何将二进制转换为十进制 75 0113 如何将二进制转换为十六进制 76 0114 如何将十进制转换为二进制 77 0115 如何将十进制转换为十六进制 78 0116 如何将十六进制转换为十进制 79 4.5 类型转换函数 80 0117 使用IntToHex函数将整数转换为十六进制数 80 0118 使用Int函数返回实数的整数部分 80 0119 使用IntToStr函数将整数转换为字符串类型 80 0120 使用StrToInt函数将字符串转换成整数 81 0121 使用StrToBool函数将字符串转换为布尔类型 81 4.6 对话框函数 81 0122 使用InputBox函数显示输入对话框 81 0123 使用MessageDlg函数显示不同风格的对话框 81 0124 使用CreateMessageDialog函数创建消息对话框 82 0125 如何在指定的位置显示信息框 82 0126 使用ShowException函数显示一个异常信息 82 4.7 异常处理函数 83 0127 将错误编号转换为错误信息字符串 83 0128 使用ExceptAddr函数获得异常被抛出的地址 83 0129 格式化异常处理信息 84 4.8 图形图像相关函数 85 0130 将TColor类型的颜色值转换为RGB值 85 0131 使用Bounds函数获得某矩形的TRect 86 0132 从已有的位图上创建位图 86 0133 使用Frame3D过程在画布上创建3D效果 87 4.9 文件操作的相关函数 87 0134 使用CopyFile函数复制文件 87 0135 使用CreateDir函数创建一个目录 88 0136 使用FileCreate函数创建一个图形文件 88 0137 使用GetCurrentDir函数返回当前目录 89 0138 在指定路径中搜索指定的文件 89 0139 使用FileExists函数判断指定文件是否存在 90 0140 使用FileGetAttr函数返回文件的属性 90 0141 使用FileGetDate函数返回文件的修改日期 90 0142 使用FileWrite函数将缓冲区中的内容写入文件 91 4.10 其他函数 91 0143 使用Random函数产生7个随机数 91 0144 使用DiskFree函数返回磁盘驱动器的剩余空间 91 0145 如何使用Printer函数 92 0146 使用SetPriner函数修改打印机信息 93 0147 使用BeginThread函数产生线程 94 0148 使用EndThread过程终止一个线程 95 0149 使用ForegroundTask函数检测线程是否运行 96 第5章 字符与字符串处理技术 99 5.1 ASCII码与编码转换 100 0150 如何获得汉字的区位码 100 0151 通过区位码获取汉字 100 0152 根据ASCII码获得字母 101 0153 获得字母的ASCII码 101 5.2 字符中的转换 101 0154 如何将数字转换成字符串 101 0155 如何将字符串全部大写 102 0156 如何将字符串全部小写 102 0157 如何将字符串中的任意字符转换成大写 103 0158 如何将字符串中的任意字符转换成小写 103 0159 如何将字符串首字母大写 104 5.3 字符串的相关判断 105 0160 判断某一字符是否在字符串中 105 0161 判断字符串是由数字、大写字母或小写字母组成 105 0162 判断字符串中的某一字符是否大写 106 0163 判断字符串中是否有小写字母 107 0164 判断字符串中是否有指定的字符 107 0165 判断字符是否可以转换成整数 108 0166 判断字符中是否有汉字 108 0167 判断字符中是否有双字节 109 0168 判数输入的字符串是否为整数 109 5.4 字符串的个数问题 110 0169 获取文字中英文单词的个数 110 0170 如何统计两个子字符串之间的字符的个数 111 0171 判断字符在字符串中出现的个数 111 0172 在语句中查找汉字的个数 112 0173 如何统计中英文个数 112 5.5 字符串的其他操作 113 0174 返回指定字符串的起始位置 113 0175 获得汉字的拼音简码 113 0176 如何将字符串翻转 114 0177 截取指定位置的字符串 115 0178 清除字符串中指定的字符 115 0179 如何实现文本的加密与解密 116 0180 提取字符串中指定子字符串后的字符串 117 0181 替换指定的字符串 117 0182 在文本中删除指定的汉字或句子 118 0183 指定符号分割字符串 119 0184 如何使用随机密码和字符串 120 第6章 日期和时间 121 0185 获得系统当前时间 122 0186 获得系统当前日期 122 0187 将日期时间格式化为指定格式 122 0188 计算两个日期之间相差的天数 123 0189 根据指定日期返回星期几 123 0190 将日期转换为字符串 124 0191 判断日期是否改变 124 0192 判断字符串是否为日期或时间 125 0193 获得指定月的最后一天 127 0194 在指定的日期上加上3月 127 0195 实现倒计时功能 128 0196 判断指定年份是否为闰年 129 0197 调用系统设置日期对话框 129 0198 将秒数转化成hh:mm:ss格式 129 0199 修改操作系统日期 130 0200 获取全球标准时间 130 第7章 数据处理技术 133 7.1 组件数据处理技术 134 0201 让两个文本框中的内容同时改变 134 0202 格式化DataGrid表格中的数据 134 0203 控制文本框只能录入数字 135 0204 如何在DataGrid中嵌入LookupComboBox 135 0205 在DBGrid中设置不滚动的列 136 0206 如何在DBGrid中实现复制、粘贴功能 137 0207 在DBGrid中将选中的多行删除 137 0208 在DataGrid中如何使标题文字居中 138 0209 如何把ListBox中的内容拖曳到另一个ListBox中 139 0210 把DBGrid中的数据赋给数组 139 0211 如何获取DataGrid单元格中的内容 140 0212 如何锁定文本框中的文本 141 0213 如何设置光标到文本框的末尾 141 0214 如何改变表格列的矩形区域颜色 142 0215 控制在文本框中只能输入两位小数 143 0216 如何把选择的文件图标显示在列表中 143 0217 根据表格中的数据长度自动调整表格宽度 144 7.2 ADO数据处理技术 145 0218 如何把ADO中的数据导入到ListBox中 145 0219 使用SQL语句保存数据 146 0220 使用赋值方式保存数据 147 0221 当ADO循环删除数据时需要注意的问题 147 0222 把Excel中的数据保存到数据库中 147 0223 怎样弹出ConnectionString设置页 148 0224 利用ADO获取DELETE后所影响的记录数 148 7.3 业务实现数据处理技术 149 0225 随机产生中奖号码 149 0226 使用快捷键保存数据 150 0227 密码只允许输入8位或超过8位 150 0228 如何获取汉字拼音简码 151 0229 根据用户输入需求自动调整输入法 152 0230 根据生日自动计算年龄 153 0231 实现找零功能 153 0232 设计带记忆的数据录入窗口 154 0233 在窗体关闭时提示有未保存的数据 155 0234 设置只允许3次密码错误 156 0235 如何读取Word中的文本 156 0236 通过身份证号获取年龄 157 0237 如何实现一个应用程序只能打开一个进程 158 7.4 其他数据处理技术 159 0238 对计算结果四舍五入 159 0239 获取一个字符的ASCII值 159 0240 判断字符串中是否有文字符 160 0241 如何从字符串中提取数字 160 0242 判断内容是否为日期 161 0243 使字符串显示为自定义的格式 161 0244 实现拼音大小写转换 162 0245 怎样实现数据输入为空提示 162 0246 读取Memo1中指定行的文本信息 163 0247 自动调节ComboBox列表宽度 164 0248 如何转换数据库表为CSV文件格式 164 0249 删除文本文件中的多余空格 165 0250 创建和使用资源文件 166 第8章 窗体与界面设计 169 8.1 窗体标题栏控制 170 0251 如何实现标题栏闪烁的窗体 170 0252 如何实现不可移动的窗体 170 0253 如何在不使用标题栏的情况下移动窗体 170 0254 使窗体标题栏文字右对齐 170 0255 在窗体标题栏上添加按钮 171 0256 取消窗体标题栏的关闭按钮 172 0257 如何实现闪动的标题栏文字 172 0258 怎样动态修改窗体图标 172 8.2 窗体的动态显示 173 0259 如何实现QQ窗体 173 0260 实现窗体的淡入淡出 173 0261 实现窗体的幻灯片效果 174 0262 实现窗体的伸展效果 174 0263 实现窗体的下拉效果 175 0264 以放大的圆形显示窗体 175 8.3 MDI窗体 176 0265 在MDI中显示动态窗体 176 0266 在MDI中真正关闭子窗体 176 0267 给MDI主窗体添加背景 176 0268 动态显示像MDI的子窗体 177 0269 打开MDI窗体时其他窗体会显示出来的原因 177 8.4 窗体的大小及位置 178 0270 控制窗体的最大化、最小化 178 0271 无标题栏时改变窗体的大小 178 0272 无标题栏最大化时不覆盖任务栏 178 0273 限制窗体的大小 179 0274 重定义去掉标题栏并最大化窗体 179 0275 使窗体一直居中 179 0276 控制窗体不可移动 180 0277 限制窗体的最大化 180 0278 使窗体自动居中 181 8.5 窗体的特殊形状 181 0279 实现窗体颜色渐变 181 0280 如何使窗体透明 182 0281 制作特殊形状的窗体 182 0282 为窗体增加边框 183 0283 显示圆角窗体 183 0284 制作多边形窗体 184 0285 以文字的形式显示窗体 185 0286 如何实现窗体半透明 185 0287 制作立体窗口阴影效果 186 8.6 工具栏、状态栏及下拉列表 187 0288 制作带历史信息的菜单 187 0289 制作可以拉伸的菜单界面 188 0290 制作类似于XP颜色的下拉页 188 0291 在系统菜单中添加菜单项 189 0292 在状态栏中放置其他组件 189 0293 改变下拉列表的文字颜色 190 8.7 窗体的特殊效果 191 0294 如何动态分割窗体 191 0295 如何将应用程序背景与桌面融合 191 0296 如何在屏幕最前面显示滚动字幕 192 0297 制作磁性窗体 193 0298 制作浮动窗口 194 0299 制作另类提示窗口 195 0300 将窗体放入Panel组件中 196 8.8 窗体的快速操作 197 0301 使窗体始终在最上面 197 0302 显示所有的可视化窗体 197 0303 关闭所有窗体 198 0304 关闭多余的窗体 198 8.9 窗体的调用方法 199 0305 在关闭窗体前显示提示对话框 199 0306 创建一个启动闪现窗口 199 0307 动态创建窗体 200 0308 动态创建窗体和释放窗体 200 0309 在显示主窗体前显示登录窗体 201 8.10 窗体相关操作的其他技巧 202 0310 无窗体的半透明控件 202 0311 修改提示字体及颜色 202 0312 在窗口中显示动态画布 202 0313 如何实现中英文切换 203 0314 在一个子窗体中获得另一个子窗体的组件信息 204 第9章 组件技术 205 9.1 优化组件外观 206 0315 利用TXPManifest组件美化程序界面 206 0316 使用Canvas美化列表项 206 0317 利用Canvas在Chart组件中画一幅图片 207 0318 如何为TListBox添加水平滚动条 207 0319 折行显示按钮标题 208 0320 为组件制作立体效果 208 0321 利用ActiveX控件实现Office助手 209 9.2 菜单、工具栏、状态栏 209 0322 在PopupMenu中动态加入新菜单 209 0323 在状态栏中显示进度条组件 210 0324 为工具栏添加背景图片 210 9.3 文本框及列表框的应用技巧 211 0325 使TEdit组件获取焦点后将文本全部选中 211 0326 使TEdit组件获取焦点时改变文本框颜色 211 0327 查找列表框中的选项 212 0328 在ComboBox组件中显示QQ头像 212 0329 为Edit组件添加列表选择框 213 0330 在ListBox中显示位图 214 0331 获取TMemo中的可见行数 214 0332 如何在Memo组件上实现光标定位 215 0333 控制Memo组件中的滚动条 216 9.4 数据感知控件应用技巧 217 0334 如何在DBGrid中显示不同的记录颜色 217 0335 单击DBGrid标题进行排序 218 0336 使DBGrid支持鼠标滚轮 218 0337 在DBGrid中添加静态字段 218 0338 在DBGrid中实现下拉列表 219 0339 改变DBGrid被选中时的颜色 220 0340 用TDBNavigator组件删除数据显示自定义信息 220 0341 使用Excel组件将数据导出为Excel格式 221 9.5 表格组件使用技巧 222 0342 将StringGrid中指定行的数据添加到Memo中 222 0343 使TStringGrid组件自动移动及增加行 223 0344 单击StringGrid列进行排序 224 9.6 TreeView组件使用技巧 225 0345 如何动态创建TreeView节点 225 0346 如何将TreeView中的节点全部选中 226 0347 将菜单项添加到Tree View中 226 0348 使TreeView组件与数据库关联 227 0349 应用TTreeView组件遍历磁盘目录 228 0350 在TreeView组件中实现拖曳操作 229 9.7 ListView组件使用技巧 229 0351 向TListView组件中添加项目 229 0352 删除ListView中的选项 230 0353 实现ListView滚动 230 0354 将数组中的数值遍历到ListView中 231 0355 ListView组件的高级应用 231 0356 使ListView的不同列显示不同颜色 232 0357 对ListView中的项目进行汇总 233 0358 单击列表标题进行排序 233 9.8 应用组件制作导航 234 0359 用ListView制作导航界面 234 0360 利用Panel组件制作QQ导航栏 235 9.9 其他组件使用技巧 237 0361 动态创建组件 237 0362 创建控件数组 237 0363 用组件来移动窗体 238 0364 实现组件的批量访问 238 0365 使同类组件进行同样的操作 239 0366 使用Ttrackbar组件改变画布颜色值 239 0367 设置TopAxis属性在图表上面显示标签 240 0368 动态向ImageList组件中添加图标 240 0369 设置DateTimePicker组件的外观颜色 241 0370 利用Timer组件显示当前系统时间 241 0371 获取用户在Month Calendar组件中选择的日期 242 0372 在Panel上播放视频文件 242 0373 Win3.1组件的综合应用 242 0374 制作一个信息上传控件 243 0375 使用Gauge组件制作启动程序 245 第10章 鼠标和键盘 247 10.1 鼠标和键盘 248 0376 鼠标和键盘在一定时间没有动作时关闭程序 248 0377 如何锁定鼠标和键盘 248 0378 如何实现键盘鼠标动作记录与回放 249 10.2 鼠标的相关操作 250 0379 将鼠标锁定在指定范围内 250 0380 模拟鼠标操作 251 0381 显示或隐藏鼠标 252 0382 获取鼠标按键状态 252 0383 获取窗口标题 253 0384 单击鼠标左键弹出右键菜单 253 0385 改变当前鼠标的样式 254 0386 模拟键盘的复制与粘贴 255 0387 如何定义自己的鼠标事件 255 0388 利用鼠标绘制矩形焦点 256 0389 将鼠标移动到指定控件 257 0390 ANI动画鼠标的制作 257 0391 自制动画鼠标 258 0392 获取鼠标滑轮的消息 258 0393 制作鼠标跟随 259 0394 利用鼠标滑轮查看组件中的数据 259 10.3 键盘的相关操作 260 0395 按回车键移动焦点 260 0396 如何屏蔽Win键 261 0397 如何控制键盘指示灯 261 0398 如何屏蔽Sleep和Wake Up键 262 0399 设置自己的热键 262 0400 用键盘钩子封锁Win dows热键 263 0401 如何用Esc键退出程序 263 0402 在TDBGrid中用回车键移至下一个字段 264 0403 用Esc键停止循环 264 0404 如何判断左右 Shift 按键 265 0405 替换一个键盘按钮 265 10.4 鼠标的其他应用技巧 266 0406 实现超级链接效果 266 0407 用鼠标隐藏显示窗口(仿QQ) 267 0408 获取鼠标的桌面坐标 267 0409 用鼠标双击TStatusBar时判断是哪一个Panels 268 0410 使Canvas上直线的一个端点跟着鼠标跑 268 第11章 文件与文件管理 271 11.1 文件及文件夹的创建和移动 272 0411 创建并删除文件 272 0412 如何移动文件 272 0413 将文件放入回收站 273 0414 复制文件夹到其他路径中 273 0415 用API函数进行文件的复制 274 0416 用内存块复制文件 275 0417 用文件流对文件进行复制 275 11.2 文件的打开及读取 276 0418 打开指定格式的文件 276 0419 获取文件中指定符号中的字符串 277 0420 如何输出文本内容 277 0421 根据文件名中的部分名称打开该文件 278 0422 怎样合并文件 280 0423 创建和使用资源文件 281 11.3 文件及文件夹的相关属性 281 0424 如何获取文件的访问时间 281 0425 获取文件的剩余空间 282 0426 获取文件修改时间 283 0427 怎样修改文件属性 283 11.4 文件及文件夹的相关目录 285 0428 得到系统当前目录 285 0429 改变当前目录 285 0430 获取System目录 286 0431 获取Windows目录 286 0432 获取临时文件的目录 287 11.5 文件属性的相关判断 287 0433 判断文件是否被使用 287 0434 判断文件是否存在 288 0435 判断文件是否为文本文件 288 0436 判断文件名是否有效 289 11.6 文件及文件夹的遍历 289 0437 如何查询文件 289 0438 提取文件夹中的文件 291 0439 遍历文件夹下的所有文件(包含子文件夹) 291 11.7 INI文件 292 0440 如何读写INI文件 292 0441 利用INI文件查看工作日志 294 0442 用INI文件创建菜单 295 11.8 文件的其他应用技巧 296 0443 调用帮助文件 296 0444 对文件进行比较 296 0445 更改文件名称 297 0446 字符网格和文本间转换 297 第12章 磁盘管理 299 12.1 获取磁盘的相关信息 300 0447 获取磁盘总空间 300 0448 获取光盘的盘符 300 0449 获取系统盘符 301 0450 获得光盘的卷标 301 0451 获取磁盘卷标 302 0452 获取磁盘编号 302 0453 获取磁盘详细信息 303 0454 获取硬盘序列号 303 0455 获取驱动器类型 304 0456 获取驱动器列表 304 0457 获取磁盘的文件系统名称、长度及系统标记 305 0458 获取移动硬盘 305 12.2 磁盘设置与操作 306 0459 将文件存到磁盘中 306 0460 如何实现盘格式化 307 0461 打开磁盘时先弹出文本文件 308 0462 怎样进行磁盘碎片整理 308 12.3 磁盘监控与分析 308 0463 判断光驱中是否有光盘 308 0464 如何打开和关闭光驱 309 0465 判断软驱中是否有软盘 310 0466 判断磁盘是否存在 311 第13章 图形图像技术 313 13.1 基本操作 314 0467 对窗体进行刷新 314 0468 在TImage组件上显示透明文字 314 0469 清空TImage组件中的图片 314 0470 生成两个颜色的中间色 315 0471 改变文字的背景颜色 315 13.2 绘制图形 316 0472 制作空心文字 316 0473 如何实现十字光标定位 316 0474 制作旋转的文字 317 0475 波形图的绘制 318 0476 制作动画背景的窗体 319 0477 如何涂抹窗体 320 0478 如何万花筒 320 13.3 图片格式转换 321 0479 ICO转换成位图(BMP) 321 0480 JPG转换成位图(BMP) 322 0481 WMF转换成位图(BMP) 323 0482 位图(BMP)转换成JPG 323 0483 位图(BMP)转换成WMF 324 0484 批量转换图像 324 13.4 颜色格式的转换 326 0485 将TColor换算成RGB 326 0486 将TColor换算成HTML 326 0487 将HTML换算成TColor 327 0488 将CMYK换算成RGB 327 0489 将RGB换算成CMYK 328 0490 将RGB换算成TColor 329 13.5 图片的滤镜效果 329 0491 将图片以灰度形式显示 329 0492 提高图像的亮度 330 0493 图像浮雕效果 331 0494 图片的反色效果 332 13.6 翻转与缩放 333 0495 如何放大和缩小图像 333 0496 实现图形反转 333 0497 如何旋转图像 334 0498 将图像局部放大 335 13.7 图片的动态效果 336 0499 制作百叶窗效果 336 0500 垂直交错显示图像 337 0501 水平交错显示图像 338 0502 制作积木效果 338 0503 制作推拉效果 340 0504 如何实现雨滴式的效果 340 0505 图片颜色逐渐加深 341 13.8 获取及调整图片的像素 342 0506 如何实现定点取色 342 0507 获取指定点的RGB值 343 0508 制作红绿眼镜三维立体画 343 0509 调整图片的RGB对比度 344 0510 图片的加密与解密 345 13.9 图片的处理技术 346 0511 复制局部图片 346 0512 在图片中加入文字 347 0513 如何实现图片扭曲 348 0514 图片的网格效果 350 13.10 图片的存储 350 0515 将BMP图片重画到窗体上 350 0516 将JPG图片重画到窗体上 351 0517 使位图图片透明 352 0518 对大图片的操作 352 13.11 图片的其他应用技巧 353 0519 怎样浏览大图片 353 0520 获取图像信息 353 0521 在图片上平滑移动文字 354 0522 制作随鼠标拖动的图像 355 0523 在TMainMenu组件上绘制图片 356 第14章 动画与多媒体 357 14.1 动画播放 358 0524 单帧动画播放 358 0525 多帧动画播放 358 0526 模拟石英钟 360 0527 设计字幕程序 361 0528 设计屏幕保护程序 361 14.2 文字效果 363 0529 文字的立体字效果 363 0530 文字滚动效果 364 0531 文字旋转效果 365 0532 制作空心文字 365 14.3 播放媒体文件 366 0533 播放AVI文件 366 0534 播放Flash动画 367 0535 播放WAV文件 368 0536 播放GIF文件 368 14.4 利用API播放媒体 369 0537 与多媒体相关的API函数 369 0538 利用sndPlaySound函数播放音频文件 370 0539 利用mciSendString函数播放AVI 370 14.5 音频及视频 372 0540 使电脑发出声音 372 0541 显示MP3文件的播放时间 372 0542 显示文件的播放进度 373 0543 循环播放媒体文件 374 0544 显示AVI文件的播放帧数 375 0545 指定视频显示窗口 375 0546 全屏播放视频文件 376 0547 设计一个精美的播放器 377 0548 播放背景音乐 380 0549 利用RealPlayer播放器播放音乐 381 14.6 媒体控制 382 0550 如何实现静音与声道控制 382 0551 调用声音控制对话框 383 0552 使播放的Flash随窗口大小改变 383 0553 打开和关闭光驱 383 第15章 API函数 385 15.1 操作系统 386 0554 关闭显示器 386 0555 获取系统启动模式 386 0556 使程序不出现在任务栏上 387 0557 修改系统时间 387 0558 修改系统颜色 388 0559 使用API函数拨号 389 0560 获取内存使用状态的信息 389 0561 清空回收站 390 0562 设置系统日期 390 0563 如何设定屏幕分辨率设定 391 0564 修改系统的刷新率 391 0565 隐藏桌面图标 392 0566 获取Windows主题文件 392 15.2 窗体 393 0567 利用API创建窗体 393 0568 利用API创建画刷 394 0569 利用API绘制弧形 394 0570 利用API控制窗体显示 395 0571 制作闪动标题的窗体 396 0572 拖动无标题栏窗体 396 0573 获取拖动到窗体中的文件路径 396 0574 在窗口的任意地方弹出主菜单项 397 0575 获取工程中的所有窗体名称 398 15.3 其他相关应用技巧 399 0576 锁定计算机 399 0577 启动控制面板 400 0578 如何实现屏幕抓图 401 0579 计算Windows从启动后所运行的总时间率 401 0580 巧用GetSystemMetrics函数 402 0581 显示密码编辑框中的密码 402 0582 添加、删除系统托盘图标 402 0583 如何在系统菜单中添加新项目 403 0584 监测程序多久未被使用 404 第16章 注册表 405 16.1 注册表基本操作 406 0585 创建注册表项 406 0586 删除注册表项 406 0587 向注册表中写入数据 407 0588 读取注册表中的数据 407 0589 列出指定注册表项下全部键值 408 0590 备份与恢复注册表 409 16.2 桌面 410 0591 设置系统墙纸 410 0592 修改桌面“我的电脑”的提示信息 410 0593 如何在桌面的任意位置显示墙纸 411 0594 在任务栏中添加自定义信息 412 16.3 优化系统性能 413 0595 如何实现自动登录 413 0596 如何快速显示窗口 414 0597 优化二级缓存 414 0598 优化系统关机速度 415 0599 禁止用户对虚拟内存的访问 415 16.4 IE浏览器设置 416 0600 设置IE默认首页 416 0601 清空IE网址中的历史记录 416 0602 设计修改IE标题栏和工具栏背景的程序 418 0603 隐藏IE属性中的选项 419 0604 禁止查看网页中的源文件 421 0605 禁止IE播放多媒体文件 421 0606 禁止对IE浏览器设置默认首页 422 16.5 “开始”菜单的相关设置 422 0607 如何在“开始”菜单中隐藏“关机”菜单项 422 0608 如何在“开始”菜单中隐藏“文档”菜单项 423 0609 如何在“开始”菜单中隐藏“运行”菜单项 423 0610 退出系统时清除“文档”中的历史记录 424 0611 禁止文档子菜单记录最近的工作信息 425 16.6 其他设置 426 0612 设计开机欢迎文字 426 0613 防止应用程序窗口失去焦点 426 0614 隐藏“添加/删除Windows组件”按钮 427 0615 隐藏计算机中的盘符 428 0616 禁止使用控制面板 430 0617 禁止使用注册表编辑器 431 0618 通过注册表获取时区信息 431 0619 通过注册表获取系统信息和用户注册信息 432 第17章 Windows相关开发技术 435 17.1 CPU 436 0620 获取CPU频率 436 0621 获取从开机到现在CPU运行的周期数 436 0622 获取CPU名称 437 0623 判断CPU是否支持MMX 438 17.2 系统控制 438 0624 计算机的关闭、重启和注销 438 0625 开关屏幕保护 439 0626 设计更换屏幕保护的程序 440 0627 设计屏幕保护的程序 441 0628 设置屏幕分辨率 442 0629 设置墙纸 443 0630 显示桌面 444 0631 让InputBox也能使用密码掩码 444 0632 控制系统菜单 445 0633 动态改变屏幕的显示模式 446 0634 在桌面上创建指定网址的快捷方式 446 0635 建立批处理文件的快捷方式 447 0636 Windows菜单字体的设置 448 17.3 系统状态栏的相关操作 448 0637 隐藏和显示任务栏 448 0638 隐藏、显示托盘图标 449 0639 隐藏状态栏中的时间 449 0640 如何设置“开始”按钮不可用 450 17.4 获取系统信息 450 0641 查看当前系统版本 450 0642 更改系统日期及时间 451 0643 获取系统字体的列表 452 0644 获取指定盘符中的路径 452 0645 获取系统内存信息 454 0646 如何使用DOS获取计算机的网络信息 454 17.5 获取Windows的相关文件 455 0647 按文件类型获取其图标 455 0648 监控剪贴板的文字内容 456 0649 输出Shell32.dll的图标 457 0650 从剪贴板中读取图片 458 17.6 Windows消息的相关控制 458 0651 程序最小时在任务栏中显示托盘图标 458 0652 动态最小化到状态栏托盘区 459 0653 屏幕取图(包含鼠标) 459 17.7 其他相关技巧 460 0654 如何让电脑发出滴声 460 0655 打开记事本和计算器 461 0656 对汉字输入法进行操作 461 0657 在组件中执行控制面板 462 0658 在Windows界面上不显示程序 464 0659 清空回收站 464 0660 给桌面加上一层阴影 465 第18章 程序应用控制 467 第19章 数据库技术 485 第20章 SQL查询相关技术 523 第21章 打印与报表技术 583 第22章 图表技术 617 第23章 硬件相关技巧 633 第24章 网络开发技术 645 第25章 Web相关技巧 689 第26章 安全技术 707 第27章 程序调试与错误处理 717 第28章 程序打包与安装 727 第29章 第三方控件 737
第1章 开发环境 1 1.1 环境设置 2 0001 如何定制工具栏 2 0002 如何定制组件面板 2 0003 如何定制代码编辑器 3 0004 保存自定义开发环境桌面 4 1.2 组件安装 4 0005 安装ActiveX组件 4 0006 安装不同类型的第三方组件 5 0007 在Delphi中加载QReport报表组件 7 1.3 创建DLL文件 8 0008 生成一个DLL文件 8 0009 调用DLL文件 8 1.4 窗体相关操作 9 0010 将组件置前/置后 9 0011 如何锁定窗体中的组件 9 0012 如何改变窗体上的网格大小 10 0013 组件的选取 10 0014 改变窗体Hint背景色 11 0015 以原始风格显示控件的滚动条 11 0016 使用快捷键打开对象观察器中的“...”按钮 11 1.5 其他相关应用技巧 11 0017 安装合适的Delphi版本 11 0018 熟练掌握Delphi中的菜单项 12 0019 构成Delphi项目的主要文件 12 0020 如何在程序中调用帮助文件 12 第2章 语言基础 17 2.1 基础语言 18 0021 如何对代码进行注释 18 0022 Exit语句的使用 18 0023 有效地使用Self对象 19 0024 声明局部变量、类变量和全局变量 19 0025 有效利用条件语句和嵌套条件语句 20 0026 有效利用循环语句和嵌套循环语句 21 0027 使用GoTo跳转语句 21 0028 有效使用Case Else语句 22 0029 保证数组循环的安全性 22 0030 获取枚举值列表 23 0031 使两个变量位于同一个地址空间 23 0032 利用动态数组作为函数参数 24 0033 调用Register过程的注意事项 24 0034 在Delphi中禁止使用result 24 0035 如何在Delphi中录制代码 24 0036 如何编译器会提示数组太大时的处理技巧 25 0037 如何对超大数字进行计算 25 0038 强类型的定义及使用 25 2.2 类、函数、重载 25 0039 在函数的定义中正确使用var 25 0040 如何实现类的转形 26 0041 如何实现数据加密与解密算法 27 0042 如何继承父类的方法 27 0043 如何实现函数重载 28 0044 类中多态的应用 28 0045 将函数作为参数进行调用 30 2.3 参数与指针 30 0046 通过指针读写数据 30 0047 在过程中使用常量参数 31 0048 在过程中使用数组参数 31 0049 在过程中使用默认参数 31 2.4 其他 32 0050 如何在字符串中使用单引号 32 0051 结构对象的定义与使用 32 0052 使用数组为TlistView组件动态创建字段 33 0053 解决程序的死锁问题 34 0054 怎样实现接口委托 34 0055 在Delphi中使用汇编 35 0056 为程序设置版本和帮助信息 36 0057 动态链接库的创建与调用 36 0058 String类型和Pchar类型的用法和区别 36 0059 如何捕获异常 37 0060 TStrings与TStringList的使用 37 0061 如何实现窗体文件转换 37 第3章 程序算法 39 3.1 计算类算法 40 0062 如何计算1~100的阶乘和 40 0063 如何实现最大公约数 40 0064 如何实现最小公倍数 41 0065 如何实现裴波纳契数列求和 42 0066 如何实现百钱百鸡算法 42 0067 如何实现哥德巴赫猜想 43 0068 如何实现韩信点兵 44 0069 求水仙花数的算法 44 0070 求1000以内的完数 45 0071 如何计算x的y次方 46 3.2 复杂计算类算法 46 0072 如何实现金额大小写转换的算法 46 0073 如何计算时钟的指针位置 47 0074 如何计算汉字笔划 48 0075 如何计算两个日期之间的天数、周数、分钟数 49 0076 如何实现数字斜塔 50 0077 如何实现杨辉三角 51 0078 如何实现CRC算法 52 0079 如何将B转换成GB、MB和KB 52 3.3 判断及转换类算法 53 0080 判断IP地址是否合法的算法 53 0081 判断身份证是否合法的算法 54 0082 判断素数的算法 55 0083 将字符串转换成Unicode格式 56 3.4 排序及分组类算法 56 0084 利用回溯法将一组数平均分成两组 56 0085 利用冒泡法对数字进行排序 58 0086 用回溯法找出n个自然数中取r个数的所有组合 58 0087 0~N位数的任意组合 59 0088 在数组中快速查找近似值 60 0089 实现直接插入法排序 61 第4章 函数应用 63 4.1 字符串处理函数 64 0090 使用Uppercase函数将小写字母转换为大写字母 64 0091 使用Lowercase函数将大写字母转换为小写字母 64 0092 使用Copy函数获取一个字符串的子串 64 0093 使用LeftStr函数从左边取得指定个数的字符串 65 0094 使用RightStr函数从右边取得指定个数的字符串 65 0095 使用Length函数取得一段字符串的长度 65 0096 使用Pos函数返回子字符串第一次出现的索引值 66 0097 使用Quotedstr函数返回字符串的引证串 66 0098 使用Trim函数删除字符串的首尾空格 66 4.2 数学计算函数 67 0099 使用Abs函数返回指定数值的绝对值 67 0100 使用Mod函数计算1~10之间的奇数和 67 0101 使用Div函数做整除操作 68 0102 使用DivMod函数返回两个操作数相除的商和余数 68 0103 使用Power函数返回底数的任何次幂 69 0104 使用Round函数将实数四舍五入为整数 69 0105 使用Sqr函数计算指定数的平方 70 0106 使用Mean函数计算平均数 70 0107 求最大浮点数和最小浮点数 71 4.3 序数函数 72 0108 使用Odd函数改变StringGrid组件的奇偶行颜色 72 0109 使用Pred函数获取顺序类型表达式的前驱 72 0110 使用Succ函数获取顺序类型表达式的后继 73 4.4 进制转换相关函数 73 0111 如何将二进制转换为八进制 73 0112 如何将二进制转换为十进制 75 0113 如何将二进制转换为十六进制 76 0114 如何将十进制转换为二进制 77 0115 如何将十进制转换为十六进制 78 0116 如何将十六进制转换为十进制 79 4.5 类型转换函数 80 0117 使用IntToHex函数将整数转换为十六进制数 80 0118 使用Int函数返回实数的整数部分 80 0119 使用IntToStr函数将整数转换为字符串类型 80 0120 使用StrToInt函数将字符串转换成整数 81 0121 使用StrToBool函数将字符串转换为布尔类型 81 4.6 对话框函数 81 0122 使用InputBox函数显示输入对话框 81 0123 使用MessageDlg函数显示不同风格的对话框 81 0124 使用CreateMessageDialog函数创建消息对话框 82 0125 如何在指定的位置显示信息框 82 0126 使用ShowException函数显示一个异常信息 82 4.7 异常处理函数 83 0127 将错误编号转换为错误信息字符串 83 0128 使用ExceptAddr函数获得异常被抛出的地址 83 0129 格式化异常处理信息 84 4.8 图形图像相关函数 85 0130 将TColor类型的颜色值转换为RGB值 85 0131 使用Bounds函数获得某矩形的TRect 86 0132 从已有的位图上创建位图 86 0133 使用Frame3D过程在画布上创建3D效果 87 4.9 文件操作的相关函数 87 0134 使用CopyFile函数复制文件 87 0135 使用CreateDir函数创建一个目录 88 0136 使用FileCreate函数创建一个图形文件 88 0137 使用GetCurrentDir函数返回当前目录 89 0138 在指定路径中搜索指定的文件 89 0139 使用FileExists函数判断指定文件是否存在 90 0140 使用FileGetAttr函数返回文件的属性 90 0141 使用FileGetDate函数返回文件的修改日期 90 0142 使用FileWrite函数将缓冲区中的内容写入文件 91 4.10 其他函数 91 0143 使用Random函数产生7个随机数 91 0144 使用DiskFree函数返回磁盘驱动器的剩余空间 91 0145 如何使用Printer函数 92 0146 使用SetPriner函数修改打印机信息 93 0147 使用BeginThread函数产生线程 94 0148 使用EndThread过程终止一个线程 95 0149 使用ForegroundTask函数检测线程是否运行 96 第5章 字符与字符串处理技术 99 5.1 ASCII码与编码转换 100 0150 如何获得汉字的区位码 100 0151 通过区位码获取汉字 100 0152 根据ASCII码获得字母 101 0153 获得字母的ASCII码 101 5.2 字符中的转换 101 0154 如何将数字转换成字符串 101 0155 如何将字符串全部大写 102 0156 如何将字符串全部小写 102 0157 如何将字符串中的任意字符转换成大写 103 0158 如何将字符串中的任意字符转换成小写 103 0159 如何将字符串首字母大写 104 5.3 字符串的相关判断 105 0160 判断某一字符是否在字符串中 105 0161 判断字符串是由数字、大写字母或小写字母组成 105 0162 判断字符串中的某一字符是否大写 106 0163 判断字符串中是否有小写字母 107 0164 判断字符串中是否有指定的字符 107 0165 判断字符是否可以转换成整数 108 0166 判断字符中是否有汉字 108 0167 判断字符中是否有双字节 109 0168 判数输入的字符串是否为整数 109 5.4 字符串的个数问题 110 0169 获取文字中英文单词的个数 110 0170 如何统计两个子字符串之间的字符的个数 111 0171 判断字符在字符串中出现的个数 111 0172 在语句中查找汉字的个数 112 0173 如何统计中英文个数 112 5.5 字符串的其他操作 113 0174 返回指定字符串的起始位置 113 0175 获得汉字的拼音简码 113 0176 如何将字符串翻转 114 0177 截取指定位置的字符串 115 0178 清除字符串中指定的字符 115 0179 如何实现文本的加密与解密 116 0180 提取字符串中指定子字符串后的字符串 117 0181 替换指定的字符串 117 0182 在文本中删除指定的汉字或句子 118 0183 指定符号分割字符串 119 0184 如何使用随机密码和字符串 120 第6章 日期和时间 121 0185 获得系统当前时间 122 0186 获得系统当前日期 122 0187 将日期时间格式化为指定格式 122 0188 计算两个日期之间相差的天数 123 0189 根据指定日期返回星期几 123 0190 将日期转换为字符串 124 0191 判断日期是否改变 124 0192 判断字符串是否为日期或时间 125 0193 获得指定月的最后一天 127 0194 在指定的日期上加上3月 127 0195 实现倒计时功能 128 0196 判断指定年份是否为闰年 129 0197 调用系统设置日期对话框 129 0198 将秒数转化成hh:mm:ss格式 129 0199 修改操作系统日期 130 0200 获取全球标准时间 130 第7章 数据处理技术 133 7.1 组件数据处理技术 134 0201 让两个文本框中的内容同时改变 134 0202 格式化DataGrid表格中的数据 134 0203 控制文本框只能录入数字 135 0204 如何在DataGrid中嵌入LookupComboBox 135 0205 在DBGrid中设置不滚动的列 136 0206 如何在DBGrid中实现复制、粘贴功能 137 0207 在DBGrid中将选中的多行删除 137 0208 在DataGrid中如何使标题文字居中 138 0209 如何把ListBox中的内容拖曳到另一个ListBox中 139 0210 把DBGrid中的数据赋给数组 139 0211 如何获取DataGrid单元格中的内容 140 0212 如何锁定文本框中的文本 141 0213 如何设置光标到文本框的末尾 141 0214 如何改变表格列的矩形区域颜色 142 0215 控制在文本框中只能输入两位小数 143 0216 如何把选择的文件图标显示在列表中 143 0217 根据表格中的数据长度自动调整表格宽度 144 7.2 ADO数据处理技术 145 0218 如何把ADO中的数据导入到ListBox中 145 0219 使用SQL语句保存数据 146 0220 使用赋值方式保存数据 147 0221 当ADO循环删除数据时需要注意的问题 147 0222 把Excel中的数据保存到数据库中 147 0223 怎样弹出ConnectionString设置页 148 0224 利用ADO获取DELETE后所影响的记录数 148 7.3 业务实现数据处理技术 149 0225 随机产生中奖号码 149 0226 使用快捷键保存数据 150 0227 密码只允许输入8位或超过8位 150 0228 如何获取汉字拼音简码 151 0229 根据用户输入需求自动调整输入法 152 0230 根据生日自动计算年龄 153 0231 实现找零功能 153 0232 设计带记忆的数据录入窗口 154 0233 在窗体关闭时提示有未保存的数据 155 0234 设置只允许3次密码错误 156 0235 如何读取Word中的文本 156 0236 通过身份证号获取年龄 157 0237 如何实现一个应用程序只能打开一个进程 158 7.4 其他数据处理技术 159 0238 对计算结果四舍五入 159 0239 获取一个字符的ASCII值 159 0240 判断字符串中是否有文字符 160 0241 如何从字符串中提取数字 160 0242 判断内容是否为日期 161 0243 使字符串显示为自定义的格式 161 0244 实现拼音大小写转换 162 0245 怎样实现数据输入为空提示 162 0246 读取Memo1中指定行的文本信息 163 0247 自动调节ComboBox列表宽度 164 0248 如何转换数据库表为CSV文件格式 164 0249 删除文本文件中的多余空格 165 0250 创建和使用资源文件 166 第8章 窗体与界面设计 169 8.1 窗体标题栏控制 170 0251 如何实现标题栏闪烁的窗体 170 0252 如何实现不可移动的窗体 170 0253 如何在不使用标题栏的情况下移动窗体 170 0254 使窗体标题栏文字右对齐 170 0255 在窗体标题栏上添加按钮 171 0256 取消窗体标题栏的关闭按钮 172 0257 如何实现闪动的标题栏文字 172 0258 怎样动态修改窗体图标 172 8.2 窗体的动态显示 173 0259 如何实现QQ窗体 173 0260 实现窗体的淡入淡出 173 0261 实现窗体的幻灯片效果 174 0262 实现窗体的伸展效果 174 0263 实现窗体的下拉效果 175 0264 以放大的圆形显示窗体 175 8.3 MDI窗体 176 0265 在MDI中显示动态窗体 176 0266 在MDI中真正关闭子窗体 176 0267 给MDI主窗体添加背景 176 0268 动态显示像MDI的子窗体 177 0269 打开MDI窗体时其他窗体会显示出来的原因 177 8.4 窗体的大小及位置 178 0270 控制窗体的最大化、最小化 178 0271 无标题栏时改变窗体的大小 178 0272 无标题栏最大化时不覆盖任务栏 178 0273 限制窗体的大小 179 0274 重定义去掉标题栏并最大化窗体 179 0275 使窗体一直居中 179 0276 控制窗体不可移动 180 0277 限制窗体的最大化 180 0278 使窗体自动居中 181 8.5 窗体的特殊形状 181 0279 实现窗体颜色渐变 181 0280 如何使窗体透明 182 0281 制作特殊形状的窗体 182 0282 为窗体增加边框 183 0283 显示圆角窗体 183 0284 制作多边形窗体 184 0285 以文字的形式显示窗体 185 0286 如何实现窗体半透明 185 0287 制作立体窗口阴影效果 186 8.6 工具栏、状态栏及下拉列表 187 0288 制作带历史信息的菜单 187 0289 制作可以拉伸的菜单界面 188 0290 制作类似于XP颜色的下拉页 188 0291 在系统菜单中添加菜单项 189 0292 在状态栏中放置其他组件 189 0293 改变下拉列表的文字颜色 190 8.7 窗体的特殊效果 191 0294 如何动态分割窗体 191 0295 如何将应用程序背景与桌面融合 191 0296 如何在屏幕最前面显示滚动字幕 192 0297 制作磁性窗体 193 0298 制作浮动窗口 194 0299 制作另类提示窗口 195 0300 将窗体放入Panel组件中 196 8.8 窗体的快速操作 197 0301 使窗体始终在最上面 197 0302 显示所有的可视化窗体 197 0303 关闭所有窗体 198 0304 关闭多余的窗体 198 8.9 窗体的调用方法 199 0305 在关闭窗体前显示提示对话框 199 0306 创建一个启动闪现窗口 199 0307 动态创建窗体 200 0308 动态创建窗体和释放窗体 200 0309 在显示主窗体前显示登录窗体 201 8.10 窗体相关操作的其他技巧 202 0310 无窗体的半透明控件 202 0311 修改提示字体及颜色 202 0312 在窗口中显示动态画布 202 0313 如何实现中英文切换 203 0314 在一个子窗体中获得另一个子窗体的组件信息 204 第9章 组件技术 205 9.1 优化组件外观 206 0315 利用TXPManifest组件美化程序界面 206 0316 使用Canvas美化列表项 206 0317 利用Canvas在Chart组件中画一幅图片 207 0318 如何为TListBox添加水平滚动条 207 0319 折行显示按钮标题 208 0320 为组件制作立体效果 208 0321 利用ActiveX控件实现Office助手 209 9.2 菜单、工具栏、状态栏 209 0322 在PopupMenu中动态加入新菜单 209 0323 在状态栏中显示进度条组件 210 0324 为工具栏添加背景图片 210 9.3 文本框及列表框的应用技巧 211 0325 使TEdit组件获取焦点后将文本全部选中 211 0326 使TEdit组件获取焦点时改变文本框颜色 211 0327 查找列表框中的选项 212 0328 在ComboBox组件中显示QQ头像 212 0329 为Edit组件添加列表选择框 213 0330 在ListBox中显示位图 214 0331 获取TMemo中的可见行数 214 0332 如何在Memo组件上实现光标定位 215 0333 控制Memo组件中的滚动条 216 9.4 数据感知控件应用技巧 217 0334 如何在DBGrid中显示不同的记录颜色 217 0335 单击DBGrid标题进行排序 218 0336 使DBGrid支持鼠标滚轮 218 0337 在DBGrid中添加静态字段 218 0338 在DBGrid中实现下拉列表 219 0339 改变DBGrid被选中时的颜色 220 0340 用TDBNavigator组件删除数据显示自定义信息 220 0341 使用Excel组件将数据导出为Excel格式 221 9.5 表格组件使用技巧 222 0342 将StringGrid中指定行的数据添加到Memo中 222 0343 使TStringGrid组件自动移动及增加行 223 0344 单击StringGrid列进行排序 224 9.6 TreeView组件使用技巧 225 0345 如何动态创建TreeView节点 225 0346 如何将TreeView中的节点全部选中 226 0347 将菜单项添加到Tree View中 226 0348 使TreeView组件与数据库关联 227 0349 应用TTreeView组件遍历磁盘目录 228 0350 在TreeView组件中实现拖曳操作 229 9.7 ListView组件使用技巧 229 0351 向TListView组件中添加项目 229 0352 删除ListView中的选项 230 0353 实现ListView滚动 230 0354 将数组中的数值遍历到ListView中 231 0355 ListView组件的高级应用 231 0356 使ListView的不同列显示不同颜色 232 0357 对ListView中的项目进行汇总 233 0358 单击列表标题进行排序 233 9.8 应用组件制作导航 234 0359 用ListView制作导航界面 234 0360 利用Panel组件制作QQ导航栏 235 9.9 其他组件使用技巧 237 0361 动态创建组件 237 0362 创建控件数组 237 0363 用组件来移动窗体 238 0364 实现组件的批量访问 238 0365 使同类组件进行同样的操作 239 0366 使用Ttrackbar组件改变画布颜色值 239 0367 设置TopAxis属性在图表上面显示标签 240 0368 动态向ImageList组件中添加图标 240 0369 设置DateTimePicker组件的外观颜色 241 0370 利用Timer组件显示当前系统时间 241 0371 获取用户在Month Calendar组件中选择的日期 242 0372 在Panel上播放视频文件 242 0373 Win3.1组件的综合应用 242 0374 制作一个信息上传控件 243 0375 使用Gauge组件制作启动程序 245 第10章 鼠标和键盘 247 10.1 鼠标和键盘 248 0376 鼠标和键盘在一定时间没有动作时关闭程序 248 0377 如何锁定鼠标和键盘 248 0378 如何实现键盘鼠标动作记录与回放 249 10.2 鼠标的相关操作 250 0379 将鼠标锁定在指定范围内 250 0380 模拟鼠标操作 251 0381 显示或隐藏鼠标 252 0382 获取鼠标按键状态 252 0383 获取窗口标题 253 0384 单击鼠标左键弹出右键菜单 253 0385 改变当前鼠标的样式 254 0386 模拟键盘的复制与粘贴 255 0387 如何定义自己的鼠标事件 255 0388 利用鼠标绘制矩形焦点 256 0389 将鼠标移动到指定控件 257 0390 ANI动画鼠标的制作 257 0391 自制动画鼠标 258 0392 获取鼠标滑轮的消息 258 0393 制作鼠标跟随 259 0394 利用鼠标滑轮查看组件中的数据 259 10.3 键盘的相关操作 260 0395 按回车键移动焦点 260 0396 如何屏蔽Win键 261 0397 如何控制键盘指示灯 261 0398 如何屏蔽Sleep和Wake Up键 262 0399 设置自己的热键 262 0400 用键盘钩子封锁Win dows热键 263 0401 如何用Esc键退出程序 263 0402 在TDBGrid中用回车键移至下一个字段 264 0403 用Esc键停止循环 264 0404 如何判断左右 Shift 按键 265 0405 替换一个键盘按钮 265 10.4 鼠标的其他应用技巧 266 0406 实现超级链接效果 266 0407 用鼠标隐藏显示窗口(仿QQ) 267 0408 获取鼠标的桌面坐标 267 0409 用鼠标双击TStatusBar时判断是哪一个Panels 268 0410 使Canvas上直线的一个端点跟着鼠标跑 268 第11章 文件与文件管理 271 11.1 文件及文件夹的创建和移动 272 0411 创建并删除文件 272 0412 如何移动文件 272 0413 将文件放入回收站 273 0414 复制文件夹到其他路径中 273 0415 用API函数进行文件的复制 274 0416 用内存块复制文件 275 0417 用文件流对文件进行复制 275 11.2 文件的打开及读取 276 0418 打开指定格式的文件 276 0419 获取文件中指定符号中的字符串 277 0420 如何输出文本内容 277 0421 根据文件名中的部分名称打开该文件 278 0422 怎样合并文件 280 0423 创建和使用资源文件 281 11.3 文件及文件夹的相关属性 281 0424 如何获取文件的访问时间 281 0425 获取文件的剩余空间 282 0426 获取文件修改时间 283 0427 怎样修改文件属性 283 11.4 文件及文件夹的相关目录 285 0428 得到系统当前目录 285 0429 改变当前目录 285 0430 获取System目录 286 0431 获取Windows目录 286 0432 获取临时文件的目录 287 11.5 文件属性的相关判断 287 0433 判断文件是否被使用 287 0434 判断文件是否存在 288 0435 判断文件是否为文本文件 288 0436 判断文件名是否有效 289 11.6 文件及文件夹的遍历 289 0437 如何查询文件 289 0438 提取文件夹中的文件 291 0439 遍历文件夹下的所有文件(包含子文件夹) 291 11.7 INI文件 292 0440 如何读写INI文件 292 0441 利用INI文件查看工作日志 294 0442 用INI文件创建菜单 295 11.8 文件的其他应用技巧 296 0443 调用帮助文件 296 0444 对文件进行比较 296 0445 更改文件名称 297 0446 字符网格和文本间转换 297 第12章 磁盘管理 299 12.1 获取磁盘的相关信息 300 0447 获取磁盘总空间 300 0448 获取光盘的盘符 300 0449 获取系统盘符 301 0450 获得光盘的卷标 301 0451 获取磁盘卷标 302 0452 获取磁盘编号 302 0453 获取磁盘详细信息 303 0454 获取硬盘序列号 303 0455 获取驱动器类型 304 0456 获取驱动器列表 304 0457 获取磁盘的文件系统名称、长度及系统标记 305 0458 获取移动硬盘 305 12.2 磁盘设置与操作 306 0459 将文件存到磁盘中 306 0460 如何实现盘格式化 307 0461 打开磁盘时先弹出文本文件 308 0462 怎样进行磁盘碎片整理 308 12.3 磁盘监控与分析 308 0463 判断光驱中是否有光盘 308 0464 如何打开和关闭光驱 309 0465 判断软驱中是否有软盘 310 0466 判断磁盘是否存在 311 第13章 图形图像技术 313 13.1 基本操作 314 0467 对窗体进行刷新 314 0468 在TImage组件上显示透明文字 314 0469 清空TImage组件中的图片 314 0470 生成两个颜色的中间色 315 0471 改变文字的背景颜色 315 13.2 绘制图形 316 0472 制作空心文字 316 0473 如何实现十字光标定位 316 0474 制作旋转的文字 317 0475 波形图的绘制 318 0476 制作动画背景的窗体 319 0477 如何涂抹窗体 320 0478 如何万花筒 320 13.3 图片格式转换 321 0479 ICO转换成位图(BMP) 321 0480 JPG转换成位图(BMP) 322 0481 WMF转换成位图(BMP) 323 0482 位图(BMP)转换成JPG 323 0483 位图(BMP)转换成WMF 324 0484 批量转换图像 324 13.4 颜色格式的转换 326 0485 将TColor换算成RGB 326 0486 将TColor换算成HTML 326 0487 将HTML换算成TColor 327 0488 将CMYK换算成RGB 327 0489 将RGB换算成CMYK 328 0490 将RGB换算成TColor 329 13.5 图片的滤镜效果 329 0491 将图片以灰度形式显示 329 0492 提高图像的亮度 330 0493 图像浮雕效果 331 0494 图片的反色效果 332 13.6 翻转与缩放 333 0495 如何放大和缩小图像 333 0496 实现图形反转 333 0497 如何旋转图像 334 0498 将图像局部放大 335 13.7 图片的动态效果 336 0499 制作百叶窗效果 336 0500 垂直交错显示图像 337 0501 水平交错显示图像 338 0502 制作积木效果 338 0503 制作推拉效果 340 0504 如何实现雨滴式的效果 340 0505 图片颜色逐渐加深 341 13.8 获取及调整图片的像素 342 0506 如何实现定点取色 342 0507 获取指定点的RGB值 343 0508 制作红绿眼镜三维立体画 343 0509 调整图片的RGB对比度 344 0510 图片的加密与解密 345 13.9 图片的处理技术 346 0511 复制局部图片 346 0512 在图片中加入文字 347 0513 如何实现图片扭曲 348 0514 图片的网格效果 350 13.10 图片的存储 350 0515 将BMP图片重画到窗体上 350 0516 将JPG图片重画到窗体上 351 0517 使位图图片透明 352 0518 对大图片的操作 352 13.11 图片的其他应用技巧 353 0519 怎样浏览大图片 353 0520 获取图像信息 353 0521 在图片上平滑移动文字 354 0522 制作随鼠标拖动的图像 355 0523 在TMainMenu组件上绘制图片 356 第14章 动画与多媒体 357 14.1 动画播放 358 0524 单帧动画播放 358 0525 多帧动画播放 358 0526 模拟石英钟 360 0527 设计字幕程序 361 0528 设计屏幕保护程序 361 14.2 文字效果 363 0529 文字的立体字效果 363 0530 文字滚动效果 364 0531 文字旋转效果 365 0532 制作空心文字 365 14.3 播放媒体文件 366 0533 播放AVI文件 366 0534 播放Flash动画 367 0535 播放WAV文件 368 0536 播放GIF文件 368 14.4 利用API播放媒体 369 0537 与多媒体相关的API函数 369 0538 利用sndPlaySound函数播放音频文件 370 0539 利用mciSendString函数播放AVI 370 14.5 音频及视频 372 0540 使电脑发出声音 372 0541 显示MP3文件的播放时间 372 0542 显示文件的播放进度 373 0543 循环播放媒体文件 374 0544 显示AVI文件的播放帧数 375 0545 指定视频显示窗口 375 0546 全屏播放视频文件 376 0547 设计一个精美的播放器 377 0548 播放背景音乐 380 0549 利用RealPlayer播放器播放音乐 381 14.6 媒体控制 382 0550 如何实现静音与声道控制 382 0551 调用声音控制对话框 383 0552 使播放的Flash随窗口大小改变 383 0553 打开和关闭光驱 383 第15章 API函数 385 15.1 操作系统 386 0554 关闭显示器 386 0555 获取系统启动模式 386 0556 使程序不出现在任务栏上 387 0557 修改系统时间 387 0558 修改系统颜色 388 0559 使用API函数拨号 389 0560 获取内存使用状态的信息 389 0561 清空回收站 390 0562 设置系统日期 390 0563 如何设定屏幕分辨率设定 391 0564 修改系统的刷新率 391 0565 隐藏桌面图标 392 0566 获取Windows主题文件 392 15.2 窗体 393 0567 利用API创建窗体 393 0568 利用API创建画刷 394 0569 利用API绘制弧形 394 0570 利用API控制窗体显示 395 0571 制作闪动标题的窗体 396 0572 拖动无标题栏窗体 396 0573 获取拖动到窗体中的文件路径 396 0574 在窗口的任意地方弹出主菜单项 397 0575 获取工程中的所有窗体名称 398 15.3 其他相关应用技巧 399 0576 锁定计算机 399 0577 启动控制面板 400 0578 如何实现屏幕抓图 401 0579 计算Windows从启动后所运行的总时间率 401 0580 巧用GetSystemMetrics函数 402 0581 显示密码编辑框中的密码 402 0582 添加、删除系统托盘图标 402 0583 如何在系统菜单中添加新项目 403 0584 监测程序多久未被使用 404 第16章 注册表 405 16.1 注册表基本操作 406 0585 创建注册表项 406 0586 删除注册表项 406 0587 向注册表中写入数据 407 0588 读取注册表中的数据 407 0589 列出指定注册表项下全部键值 408 0590 备份与恢复注册表 409 16.2 桌面 410 0591 设置系统墙纸 410 0592 修改桌面“我的电脑”的提示信息 410 0593 如何在桌面的任意位置显示墙纸 411 0594 在任务栏中添加自定义信息 412 16.3 优化系统性能 413 0595 如何实现自动登录 413 0596 如何快速显示窗口 414 0597 优化二级缓存 414 0598 优化系统关机速度 415 0599 禁止用户对虚拟内存的访问 415 16.4 IE浏览器设置 416 0600 设置IE默认首页 416 0601 清空IE网址中的历史记录 416 0602 设计修改IE标题栏和工具栏背景的程序 418 0603 隐藏IE属性中的选项 419 0604 禁止查看网页中的源文件 421 0605 禁止IE播放多媒体文件 421 0606 禁止对IE浏览器设置默认首页 422 16.5 “开始”菜单的相关设置 422 0607 如何在“开始”菜单中隐藏“关机”菜单项 422 0608 如何在“开始”菜单中隐藏“文档”菜单项 423 0609 如何在“开始”菜单中隐藏“运行”菜单项 423 0610 退出系统时清除“文档”中的历史记录 424 0611 禁止文档子菜单记录最近的工作信息 425 16.6 其他设置 426 0612 设计开机欢迎文字 426 0613 防止应用程序窗口失去焦点 426 0614 隐藏“添加/删除Windows组件”按钮 427 0615 隐藏计算机中的盘符 428 0616 禁止使用控制面板 430 0617 禁止使用注册表编辑器 431 0618 通过注册表获取时区信息 431 0619 通过注册表获取系统信息和用户注册信息 432 第17章 Windows相关开发技术 435 17.1 CPU 436 0620 获取CPU频率 436 0621 获取从开机到现在CPU运行的周期数 436 0622 获取CPU名称 437 0623 判断CPU是否支持MMX 438 17.2 系统控制 438 0624 计算机的关闭、重启和注销 438 0625 开关屏幕保护 439 0626 设计更换屏幕保护的程序 440 0627 设计屏幕保护的程序 441 0628 设置屏幕分辨率 442 0629 设置墙纸 443 0630 显示桌面 444 0631 让InputBox也能使用密码掩码 444 0632 控制系统菜单 445 0633 动态改变屏幕的显示模式 446 0634 在桌面上创建指定网址的快捷方式 446 0635 建立批处理文件的快捷方式 447 0636 Windows菜单字体的设置 448 17.3 系统状态栏的相关操作 448 0637 隐藏和显示任务栏 448 0638 隐藏、显示托盘图标 449 0639 隐藏状态栏中的时间 449 0640 如何设置“开始”按钮不可用 450 17.4 获取系统信息 450 0641 查看当前系统版本 450 0642 更改系统日期及时间 451 0643 获取系统字体的列表 452 0644 获取指定盘符中的路径 452 0645 获取系统内存信息 454 0646 如何使用DOS获取计算机的网络信息 454 17.5 获取Windows的相关文件 455 0647 按文件类型获取其图标 455 0648 监控剪贴板的文字内容 456 0649 输出Shell32.dll的图标 457 0650 从剪贴板中读取图片 458 17.6 Windows消息的相关控制 458 0651 程序最小时在任务栏中显示托盘图标 458 0652 动态最小化到状态栏托盘区 459 0653 屏幕取图(包含鼠标) 459 17.7 其他相关技巧 460 0654 如何让电脑发出滴声 460 0655 打开记事本和计算器 461 0656 对汉字输入法进行操作 461 0657 在组件中执行控制面板 462 0658 在Windows界面上不显示程序 464 0659 清空回收站 464 0660 给桌面加上一层阴影 465 第18章 程序应用控制 467 第19章 数据库技术 485 第20章 SQL查询相关技术 523 第21章 打印与报表技术 583 第22章 图表技术 617 第23章 硬件相关技巧 633 第24章 网络开发技术 645 第25章 Web相关技巧 689 第26章 安全技术 707 第27章 程序调试与错误处理 717 第28章 程序打包与安装 727 第29章 第三方控件 737

64,646

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧