为什么某些控件在进行“使程序界面随显示器分辨率大小变化”的程序执行时,位置并没有改变?

newyc 2003-10-15 12:27:33
这些控件比如有ComboBox、line等,是不是某些属性我设置的不对的原因,百思不得其解!


下面是我用的两个函数
在form_load中调用函数ResizeInit
在form_resize中调用函数ResizeForm



'模块内容开始
public FormOldWidth as long
public FormOldHeight as long

public Sub ResizeInit(FormName as form) '记录窗体及各控件原始位置及尺寸
Dim Obj As Control

FormOldWidth = FormName.ScaleWidth
FormOldHeight = FormName.ScaleHeight

On Error Resume Next
For Each Obj In FormName
Obj.Tag = Obj.Left & " " & Obj.Top & " " & Obj.Width & " " & Obj.Height & " "
Next Obj
End Sub

public Sub ResizeForm(FormName as form) '当窗体大小发生变化时,各控件尺寸及位置作相应变化
Dim Pos '控件原先尺寸、位置
Dim I As Long '计数器
Dim Obj As Control '遍历窗体内控件
Dim ScaleX As Double, ScaleY As Double '缩放比例

ScaleX = Me.ScaleWidth / FormOldWidth

ScaleY = Me.ScaleHeight / FormOldHeight

On Error Resume Next

For Each Obj In Me
Pos = Split(Obj.Tag, " ", , vbTextCompare)
Obj.Move Pos(0) * ScaleX, Pos(1) * ScaleY, Pos(2) * ScaleX, Pos(3) * ScaleY
Next Obj
End Sub
...全文
59 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
kmzs 2003-10-15
  • 打赏
  • 举报
回复
这些控件可能有最小的大小
skywalker1997 2003-10-15
  • 打赏
  • 举报
回复
设置窗体的属性
newyc 2003-10-15
  • 打赏
  • 举报
回复
不是呀,我是把原有的控件变大呀,并不是变小。我以前的分辨率是800*600,现在要改为1024*768
目录 01001获取Excel版本 01002获取Excel的安装路径 01003获取当前用户名称 01004获取注册组织名称 01005获取当前操作系统的名称和版本号 01006获取启动Excel的路径 01007获取打开Excel文件的默认路径 01008获取模板保存的默认路径 01009获取库文件夹的路径 01010获取路径分隔符 01011获取Excel主窗口标题栏的名称 01012获取Excel窗口的状态(大小) 01013获取Excel主窗口的高度和宽度 01014获取Excel主窗口的左边界位置和顶端位置 01015获取在Excel主窗口中一个窗口所能占有的最大高度和宽度 01016获取当前打印机名称 01017获取MicrosoftExcel剩余内存 01018获取MicrosoftExcel的总内存 01019获取计算机被Excel占用的内存 01020改变Excel窗口大小 01021改变Excel的显示位置 01022将Excel移动到屏幕以外 01023隐藏Excel 01024改变Excel的标题文字 01025删除Excel的标题文字 01026将Excel设置为全屏显示 01027在状态栏中显示信息 01028显示、隐藏状态栏 01029显示、隐藏编辑栏 01030显示、隐藏常用工具栏 01031显示、隐藏格式工具栏 01032显示、隐藏任务窗格 01033改变鼠标指针形状 01034切换手动、自动计算 01035切换A1引用样式、R1C1引用样式 01036设置按【Enter】键后单元格的移动方向 01037设置最近使用的文件清单中的最多文件数 01038设置新工作簿中的工作表个数 01039设置文件的默认位置 01040设置保存自动恢复文件的间间隔和保存位置 01041停止屏幕刷新 01042使事件无效 01043使取消键无效 01044不显示警告信息对话框 01045设置使用的打印机 01046安装加载宏 01047利用GetOpenFilename方法获取文件名 01048利用GetOpenFilename方法获取某类型文件名 01049改变GetOpenFilename方法的默认路径 01050改变GetOpenFilename方法的标题文字 01051使用GetOpenFilename方法出现错误的处理 01052利用GetSaveAsFilename方法获取文件名 01053利用CentimetersToPoints方法将计量单位从cm转换为磅 01054利用InchesToPoints方法将计量单位从in转换为磅 01055显示Excel内置对话框 01056显示常用的Excel内置对话框 01057获取Excel菜单栏信息 01058获取Excel图表工具栏信息 01059获取Excel常用工具栏信息 01060获取Excel格式工具栏信息 01061获取Excel数据透视表工具栏信息 01062获取Excel的Web工具栏信息 01063获取Excel审阅工具栏信息 01064获取Excel窗体工具栏信息 01065获取Excel外部数据工具栏信息 01066获取Excel公式审核工具栏信息 01067获取Excel控件工具箱工具栏信息 01068获取Excel绘图工具栏信息 01069获取Excel命令按钮的外观图像和FaceID号(添加到自定义工具栏) 01070获取Excel命令按钮的外观图像和FaceID号(输出到工作表) 01071改变Excel命令按钮的外观图像 01072删除、恢复Excel菜单栏和工具栏 01073隐藏Excel菜单栏和工具栏 01074显示Excel默认的菜单栏和工具栏 01075执行菜单栏和工具栏的命令按钮 01076改变工作表单元格的快捷菜单 01077在工作表的任意位置快速显示快捷菜单 01078在单元格中输入公式 01079在单元格中输入数字 01080在单元格中输入文本 01081单元格区域引用 01082在单元格中输入数字和文本 01083为输入对话框设置默认值 01084在指定间运行程序(之一) 01085在指定间运行程序(之二) 01086计划在未来运行一定间的宏 01087计划每隔一段间运行宏 01088取消以前计划运行的宏 01089结束应用程序 02001通过索引指定工作簿 02002通过名称指定工作簿 02003引用当前的活动工作簿 02004引用最后打开的工作簿 02005引用当前宏代码运行的工作簿 02006引用新建的工作簿 02007引用包含特定工作表的工作簿 02008判断工作簿是否已经打开(之一) 02009判断工作簿是否已经打开(之二) 02010判断工作簿是否已经保存(之一) 02011判断工作簿是否已经保存(之二) 02012判断工作簿是否为以只读方式打开的 02013判断工作簿是否为加载宏工作簿 02014获取所有打开的工作簿名称 02015获取当前活动工作簿的名称 02016获取当前宏代码运行的工作簿名称 02017获取所有打开的工作簿路径 02018获取当前活动工作簿的路径 02019获取当前宏代码运行的工作簿路径 02020获取包括完整路径的工作簿名称 02021获取工作簿的基本名称 02022获取工作簿的文档属性 02023获取工作簿的保护状态 02024判断工作簿是否创建了自定义工具栏 02025将工作簿设定为已保存 02026将工作簿设定为加载宏工作簿或解除加载宏 02027设定工作簿的文档属性信息 02028通过指定文件名打开工作簿 02029通过指定索引打开工作簿 02030通过对话框打开工作簿(之一) 02031通过对话框打开工作簿(之二) 02032在不更新链接的情况下打开工作簿 02033新建工作簿,并以新名称保存 02034保护工作簿 02035撤销工作簿保护 02036保存工作簿 02037另存工作簿 02038设定保护密码并另存工作簿 02039设定写保护密码并另存工作簿 02040保存工作簿副本 02041通过对话框指定文件名和保存位置并保存工作簿(之一) 02042通过对话框指定文件名和保存位置并保存工作簿(之二) 02043关闭工作簿,不保存 02044关闭工作簿前进行保存 02045关闭所有打开的工作簿,不保存 02046关闭所有打开的工作簿,保存所有更改 02047删除工作簿中所有定义的名称 02048引用当前工作簿窗口 02049引用新建的工作簿窗口 02050引用特定工作簿的窗口 02051获取工作簿窗口的拆分状态 02052获取工作簿窗口的窗格信息 02053获取工作簿窗口的冻结窗格状态 02054获取工作簿窗口的各种显示状态 02055获取工作簿窗口的大小状态 02056改变工作簿窗口的大小 02057改变工作簿窗口的显示位置 02058拆分窗口并冻结窗格 02059取消工作簿窗口的拆分和冻结 02060设定工作簿窗口的各种显示状态 02061设定工作簿窗口的显示比例 02062隐藏、显示工作簿窗口 02063将指定的单元格显示在窗口的左上角 02064设置工作簿窗口的网格线颜色 02065新建窗口 02066重排窗口 02067关闭窗口 03001通过索引引用工作表 03002通过名称引用工作表 03003通过Sheets集合引用工作表 03004引用当前活动工作表 03005引用第一个工作表 03006引用最后一个工作表 03007引用所有的工作表 03008引用指定的多个工作表 03009引用新建的工作表 03010引用包含特定单元格的工作表 03011引用工作表名称中包含特定字符串的工作表 03012获取工作表名称 03013获取全部工作表名称 03014判断某个表是否为工作表 03015获取工作表的显示状态 03016获取工作表的保护状态 03017判断工作表是否处于筛选模式 03018判断工作表是否存在(之一) 03019判断工作表是否存在(之二) 03020判断工作表是否自动重新计算 03021判断工作表被保护是否可以进行自动筛选的操作 03022判断工作表被保护是否启用分级显示符号 03023判断工作表被保护是否启用数据透视表控件和操作 03024判断工作表被保护是否可以选定单元格 03025重命名工作表 03026重命名新建的工作表 03027改变工作表标签颜色 03028设置工作表的显示状态 03029设置工作表是否自动重新计算 03030设定工作表被保护是否可以进行自动筛选的操作 03031设定工作表被保护是否启用分级显示符号 03032设定工作表被保护是否启用数据透视表控件和操作 03033设定工作表被保护是否可以选定单元格 03034新建工作表并重命名 03035复制工作表 03036移动工作表 03037删除工作表 03038保护工作表 03039撤销保护工作表 03040按工作表名称重新排列工作表 03041选定工作表 03042激活工作表 03043显示选定工作表的快捷菜单 03044删除工作表级的定义名称 03045删除图表工作表 03046显示、隐藏行列标题 04001通过Range属性引用某个单元格 04002通过Range属性引用连续的单元格区域 04003通过Range属性引用不连续的单元格区域 04004通过字符串的方式引用某个单元格 04005通过字符串的方式引用连续的单元格区域 04006通过Range属性引用单列 04007通过Columns属性引用单列 04008通过Range属性引用连续的多列 04009通过Range属性引用不连续的多列 04010通过Range属性引用单行 04011通过Range属性引用连续的多行 04012通过Range属性引用不连续的多行 04013通过定义名称引用单元格区域 04014引用单元格的快捷方式 04015通过Cells属性引用某个单元格 04016通过Cells属性引用工作表的全部单元格 04017通过Cells属性引用连续的单元格区域(之一) 04018通过Cells属性引用连续的单元格区域(之二) 04019通过输入框(InputBox)引用所选择的单元格 04020引用活动单元格 04021引用已选定的单元格 04022引用已使用的单元格区域 04023引用被空白行和列包围的单元格区域 04024利用Offset属性动态引用某个单元格 04025利用Offset属性动态引用单元格区域 04026利用Resize属性引用变更为指定大小的单元格区域 04027引用不包括标题行的单元格区域 04028引用不包括标题列的单元格区域 04029引用任意单元格区域的右下角单元格(之一) 04030引用任意单元格区域的右下角单元格(之二) 04031引用输入了计算公式的所有单元格 04032引用输入了常量的全部单元格 04033引用输入了数字的全部单元格 04034引用输入了文本的全部单元格 04035引用输入了逻辑值的全部单元格 04036引用输入了批注的全部单元格 04037引用没有输入任何数据和公式的空单元格 04038引用所有可见单元格 04039引用输入了日期的单元格 04040引用含有相同计算公式的所有单元格 04041引用合并单元格区域 04042引用定义名称所指定的单元格区域(之一) 04043引用定义名称所指定的单元格区域(之二) 04044引用输入了任何内容的最后一行单元格(单列情况之一) 04045引用输入了公式或值的最后一行单元格(单列情况之二) 04046引用输入了任何内容的最后一行单元格(多列情况之一) 04047引用输入了公式或值的最后一行单元格(多列情况之二) 04048引用输入了任何内容的最后一列单元格(单行情况之一) 04049引用输入了公式或值的最后一列单元格(单行情况之二) 04050引用输入了任何内容的最后一列单元格(多行情况之一) 04051引用输入了公式或值的最后一列单元格(多行情况之二) 04052引用多个非连续单元格区域的集合(Union方法) 04053引用多个非连续单元格区域的集合(循环处理) 04054引用多个单元格区域的交叉区域 04055获取计算公式的所有引用单元格 04056获取计算公式中引用的其他工作表单元格 04057获取某个单元格的从属单元格 04058引用某个单元格所在的整个行 04059引用某个单元格所在的整个列 04060引用单元格区域所在的行范围 04061引用单元格区域所在的列范围 04062引用隐藏的行或列 04063引用单元格区域中未隐藏的单元格 04064引用锁定的单元格 04065引用不连续单元格区域集合内的各个连续的单元格区域 04066引用工作簿窗口范围内所有的单元格 04067引用设定了允许滚动区域的单元格区域 04068引用指定了左上角和右下角的单元格区域(之一) 04069引用指定了左上角和右下角的单元格区域(之二) 04070引用指定了左上角和右下角的单元格区域(之三) 04071引用以单一编号指定的单元格 04072引用工作表中任意对象左上角、右下角的单元格 04073引用输入了数组公式的所有单元格区域 04074引用输入了某数组公式的单元格区域 04075引用输入了某个函数的全部单元格 04076引用含有特定文本字符串的所有单元格 04077引用设置了数据有效性的所有单元格 04078获取单元格地址 04079获取单元格区域内的单元格数 04080获取单元格区域的行数 04081获取单元格区域的列数 04082获取单元格的行号 04083获取单元格的列号 04084获取单元格的列标字母 04085获取指定列号单元格的列标字母(之一) 04086获取指定列号单元格的列标字母(之二) 04087获取单元格区域的行号范围 04088获取单元格区域的列号范围 04089获取单元格区域的列标字母范围 04090获取数据区域的最后一行行号 04091获取数据区域的最前一行行号 04092获取数据区域的最后一列列号 04093获取数据区域的最前一列列号 04094获取单元格的任何显示值 04095获取单元格的显示字符串 04096获取单元格文本字符串的一部分(之一) 04097获取单元格文本字符串的一部分(之二) 04098获取单元格内输入的公式 04099判断单元格内是否输入了公式(之一) 04100判断单元格内是否输入了公式(之二) 04101判断工作表内是否有公式 04102判断某单元格区域是否为数组公式区域 04103判断工作表内是否有数组公式 04104判断单元格的计算公式是否引用了其他工作表数据 04105判断单元格的计算公式是否引用了其他工作簿数据 04106判断某单元格是否为合并单元格区域的一部分 04107获取单元格区域内的值,并使其矩阵化 04108获取单元格内的前缀字符 04109判断单元格内的数字是否为文本字符 04110获取单元格的格式 04111获取单元格的字体(Font)对象 04112获取单元格的内部(Interior)对象 04113获取单元格的边框(Borders)对象 04114获取单元格边框线的状态 04115获取单元格的样式(Style)对象 04116获取单元格的条件格式 04117获取单元格的输入规则(有效性设置) 04118获取单元格的超链接 04119获取单元格的批注 04120获取单元格的大小(行高和列宽) 04121获取单元格的坐标 04122向单元格输入数值 04123向单元格输入字符串 04124向单元格输入数字字符串 04125向单元格输入日期 04126向单元格输入间 04127向单元格输入分数 04128向单元格输入邮政编码 04129向连续的单元格行区域一次性输入不同的数据 04130向连续的单元格列区域一次性输入不同的数据 04131向单元格区域一次性输入相同的数据 04132通过数组向单元格区域一次性输入数据 04133向单元格区域输入连续值 04134向单元格区域输入连续的日期 04135向单元格区域输入连续的字符 04136向单元格输入公式(A1格式) 04137向单元格输入公式(R1C1格式) 04138向单元格或单元格区域输入数组公式 04139替换单元格内的字符(Replace方法) 04140替换单元格内的字符(工作表函数) 04141设置单元格字符串中一部分字符的格式(上标、下标) 04142设置单元格字符串中一部分字符的格式(其他字体属性) 04143设置单元格的下画线 04144设置单元格的字体属性(字体、字号、加粗、斜体、颜色等) 04145设置单元格区域的外部边框 04146设置单元格区域的全部边框 04147设置单元格区域的除对角框线以外的全部边框 04148删除单元格区域的全部边框 04149设置单元格的颜色和背景 04150设置单元格的格式 04151设置单元格的对齐方式 04152缩小单元格内容以全部显示 04153设定、删除单元格的输入规则和信息提示(有效性设置) 04154为单元格设置条件格式、删除条件格式 04155为单元格插入指向工作簿内部的超链接、删除超链接 04156为单元格插入指向工作簿外部的超链接、删除超链接 04157为单元格添加批注、删除批注 04158修改单元格的批注 04159为单元格区域定义名称、删除名称(Name属性) 04160为单元格区域定义名称、删除名称(Add方法) 04161自动调整单元格大小 04162自动调整工作表全部单元格的大小 04163设置单元格的大小(以磅为单位) 04164设置单元格的大小(以cm为单位) 04165设置单元格的大小(以in为单位) 04166锁定单元格、解除单元格锁定 04167隐藏单元格的公式 04168隐藏、显示某单元格所在的行或列 04169隐藏、显示单元格区域 04170单元格区域自动套用格式 04171选定单元格 04172选定单元格,并显示在窗口的左上角处 04173激活单元格 04174合并单元格 04175取消单元格的合并 04176清除单元格的全部信息 04177清除单元格的公式和值 04178清除单元格的批注 04179清除单元格的格式 04180清除单元格的批注和语音批注 04181清除单元格的超链接 04182插入单元格 04183插入整行或整列 04184删除单元格 04185删除某单元格所在的整行或整列 04186删除多行或多列 04187删除工作表的全部单元格 04188移动单元格 04189复制单元格(复制全部内容) 04190复制单元格的值(PasteSpecial方法) 04191复制单元格的值(Value属性) 04192复制单元格的数据和公式(去掉前缀字符) 04193复制单元格的数据和公式(保留前缀字符) 04194复制单元格的格式 04195复制单元格的批注 04196复制单元格的有效性设置 04197复制单元格的列宽 04198复制单元格的公式和数字格式 04199复制单元格的值和数字格式 04200转置复制单元格区域 04201复制单元格的边框 04202对单元格进行加减乘除运算 04203将单元格区域作为图像对象进行复制(无链接) 04204将单元格区域作为图像对象进行复制(有链接) 04205复制大小可变的单元格区域 05001获取嵌入图表的名称 05002获取图表工作表的名称 05003获取图表的某个系列的数据源 05004获取图表的全部系列的数据源 05005获取图表的标题信息 05006获取图表的图例信息 05007获取图表的位置 05008获取图表的大小 05009获取图表的坐标轴信息 05010获取图表的趋势线信息 05011获取工作表中的全部嵌入图表名称和类型 05012制作图表 05013制作多个图表 05014对多个图表进行合理布置 05015制作能够选择任意图表类型的图表 05016制作能够随数据数量变化变化的图表 05017改变图表的源数据区域 05018更改图表的名称 05019更改图表的类型 05020更改图表的标题格式 05021更改图表的图例格式 05022改变图表的大小 05023设置绘图区的格式 05024设置图表区的格式 05025设置坐标轴的格式 05026为图表添加趋势线 05027将嵌入图表显示在图表视窗中 05028将图表保存为图像文件 05029将图表放置在批注中 05030将图表图像加载到工作表中 05031删除图表 06001获取Shape对象的类型 06002获取Shape对象的名称 06003获取Shape对象的文字 06004获取Shape对象的大小 06005获取Shape对象的位置 06006获取Shape对象的左上角、右下角单元格地址 06007获取工作表内全部Shape对象的基本信息 06008判断Shape对象是否指定了宏 06009插入Shape对象(一般方法) 06010插入Shape对象并指定名称 06011插入Shape对象并添加文字 06012插入Shape对象并指定宏 06013插入自选图形对象 06014更改Shape对象的文字 06015更改Shape对象的大小 06016更改Shape对象的位置 06017选择任意的Shape对象 06018对Shape对象进行群组化处理 06019移动、旋转Shape对象(制作动画) 06020将Shape对象固定在工作表的某一位置 06021删除Shape对象 06022设置Shape对象大小位置是否随单元格而改变 06023使Shape对象充满整个单元格区域 06024为Shape对象插入超链接 06025利用透明的Shape对象保护单元格 07001获取工作表中所有的Excel窗体控件清单 07002插入Excel窗体控件(之一) 07003插入Excel窗体控件(之二) 07004插入Excel窗体控件并指定名称 07005在Excel窗体控件上设置文字(标签、按钮、单选按钮和复选框) 07006设置Excel窗体控件的颜色和线条 07007更改Excel窗体控件大小 07008更改Excel窗体控件位置 07009选定或取消选定单选按钮和复选框 07010为列表框和组合框设置项目(指定单元格区域) 07011为列表框和组合框设置项目(使用AddItem方法) 07012为列表框和组合框设置项目(使用List属性) 07013为列表框和组合框设置单元格链接 07014获取列表框和组合框的项目值 07015当选定列表框和组合框某个项目立即得到项目值 07016一次性插入多个Excel窗体控件并指定不同的宏 07017每单击一次Excel窗体控件,就改变背景颜色或字体颜色 07018获取工作表中所有的ActiveX控件清单 07019在工作表中插入ActiveX控件对象 07020在工作表中插入ActiveX控件对象并重命名 07021引用ActiveX控件(利用Shape对象) 07022引用ActiveX控件(利用OLEObject对象) 07023设置ActiveX控件上的文字 07024设置ActiveX控件的前景和背景 07025设置ActiveX控件对象的位置 07026更改ActiveX控件对象的大小 07027设置、获取文本框的值 07028为列表框和组合框添加项目值(指定单元格区域) 07029为列表框和组合框设置项目(使用AddItem方法) 07030为列表框和组合框设置项目(使用List属性) 07031获取列表框和组合框的项目值 07032在列表框和组合框中选定项目后立即得到所选项目值 07033设置单选按钮和复选框的值(是否选定) 07034取得单选按钮和复选框的值(选定状态) 07035设置切换按钮的值 07036取得切换按钮的值 07037设置微调按钮的值 07038获取微调按钮的值 07039设置滚动条的值 07040获取滚动条的值 07041设置、获取标签的标题文字 07042设置、获取框架的标题文字 07043在图像控件中显示、清除图片 07044以无模式状态显示用户窗体 07045将用户窗体显示在窗口的指定位置(之一) 07046将用户窗体显示在窗口的指定位置(之二) 07047改变用户窗体的大小 07048改变用户窗体的标题文字 07049将用户窗体显示在上次关闭位置上 07050在工作表中同显示多个窗体 07051禁止以窗体右上角的按钮【×】关闭窗体 07052引用窗体中的控件 07053引用窗体中的某一类控件 07054引用窗体中所有的控件 07055引用其他窗体中的控件 07056初始化用户窗体中的所有控件 07057获取被选定的控件的有关信息 07058将控件设置为不可操作(显示为灰色) 07059将控件设置为不可操作(锁定) 07060使控件隐藏、显示(利用Visible属性) 07061使控件隐藏、显示(利用Top属性和Left属性) 07062当鼠标指针停留在控件上方显示提示信息 07063当鼠标指针停留在控件上方改变鼠标指针类型 07064当鼠标指针停留在控件上方改变鼠标指针的图像 07065设置控件的焦点 07066设置控件的背景色和前景色 07067设置控件的字体格式 07068为控件添加图片 07069设置默认按钮 07070设置取消按钮 07071在按钮中显示程序运行状态 07072将文本框设置为必须输入状态 07073设置文本框内字符的对齐方式 07074设置文本框内字符的格式 07075限制文本框内的输入值 07076限制文本框内的字符长度 07077限制只能在文本框内输入阿拉伯数字和小数点 07078限制只能在文本框内输入阿拉伯数字、小数点和负号 07079限制只能在文本框内输入英文字母 07080转换文本框内数据类型 07081将文本框内的字符在任意字符后换行 07082将文本框设定为自动换行状态 07083为组合框设置项目(利用RowSource属性) 07084为组合框设置项目(利用AddItem方法) 07085为组合框设置项目(利用List属性) 07086为组合框设置项目(利用Column属性) 07087获取组合框的项目值(利用Value属性) 07088获取组合框的项目值(利用List属性) 07089获取组合框的项目值(利用Column属性) 07090获取组合框的项目值(利用数组) 07091删除组合框内所有的项目(利用Clear方法) 07092删除组合框内所有的项目(利用RowSource属性) 07093删除组合框内的某个项目(利用RemoveItem方法) 07094取消组合框项目的选定 07095将组合框设置为必须选定状态 07096将组合框设置为只能从项目列表中选定 07097选定组合框后自动弹出项目列表 07098设置组合框项目的选择外观 07099为列表框设置项目(利用RowSource属性) 07100为列表框设置项目(利用AddItem方法) 07101为列表框设置项目(利用List属性) 07102为列表框设置项目(利用Column属性) 07103获取列表框的项目值(利用Value属性) 07104获取列表框的项目值(利用List属性) 07105获取列表框的项目值(利用Column属性) 07106获取列表框的项目值(利用数组) 07107删除列表框内所有的项目(利用Clear方法) 07108删除列表框内所有的项目(利用RowSource属性) 07109删除列表框内的某个项目(利用RemoveItem方法) 07110取消列表框项目的选定 07111将列表框设置为必须选定状态 07112设置列表框的单选、多选状态 07113在列表框和文本框之间进行拖曳操作 07114利用标签显示程序运行进程 07115获取框架内所有的控件名称 07116利用框架实现单选按钮的多选 07117获取选定的单选按钮 07118获取选定的复选框 07119实现旋转按钮与文本框的联动 07120实现旋转按钮的反向自动变化 07121实现滚动条与工作表滚动条的同步联动 07122动态更改切换按钮的标题文字 07123实现多页控件各个页面的自动反向切换 07124利用图像控件浏览图像文件 07125向Spreadsheet控件输入数据 07126将Excel工作表中的数据输入到Spreadsheet控件中 07127将Spreadsheet控件中的数据输入到Excel工作表中 07128利用ChartSpace控件在窗体上绘制动态图表 07129利用DTPicker控件获取日期和间 07130利用ProgressBar控件设置进度条 07131利用ListView控件在窗体中制作报表 07132利用TreeView控件在窗体中以树形结构显示数据 07133快速调整用户窗体大小 07134在运行添加控件 07135删除运行添加的控件 07136利用标签条(TabStrip控件)动态显示数据 07137隐藏、显示用户窗体的【×】按钮 07138将用户窗体的【×】按钮设置为有效、无效 07139在用户窗体上增加【最大化】和【最小化】按钮 07140在启动工作簿仅显示用户窗体,而不显示Excel界面 08001当新建工作簿执行程序(NewWorkbook事件) 08002当激活工作表执行程序(SheetActivate事件) 08003当双击工作表执行程序(SheetBeforeDoubleClick事件) 08004当右击工作表执行程序(SheetBeforeRightClick事件) 08005当对工作表进行计算执行程序(SheetCalculate事件) 08006当任何单元格的值变更执行程序(SheetChange事件) 08007当工作表不是活动状态执行程序(SheetDeactivate事件) 08008当超链接被执行执行程序(SheetFollowHyperlink事件) 08009当单元格的选择范围变更执行程序(SheetSelectionChange事件) 08010当任意工作簿窗口被激活执行程序(WindowActivate事件) 08011当工作簿窗口不是活动窗口执行程序(WindowDeactivate事件) 08012当活动工作簿窗口被变更执行程序(WindowResize事件) 08013当工作簿成为活动工作簿执行程序(WorkbookActivate事件) 08014当工作簿成为非活动工作簿执行程序(WorkbookDeactivate事件) 08015当工作簿被打开执行程序(WorkbookOpen事件) 08016当工作簿被关闭执行程序(WorkbookBeforeClose事件) 08017当工作簿被保存执行程序(WorkbookBeforeSave事件) 08018当工作簿被打印执行程序(WorkbookBeforePrint事件) 08019当打开工作簿执行程序(Open事件) 08020当关闭工作簿执行程序(BeforeClose事件) 08021当激活工作簿执行程序(Activate事件) 08022当工作簿不是活动状态执行程序(Deactivate事件) 08023当保存工作簿执行程序(BeforeSave事件) 08024当打印工作簿执行程序(BeforePrint事件) 08025当新建工作表执行程序(NewSheet事件) 08026当工作表被激活执行程序(SheetActivate事件) 08027当工作表不是活动状态执行程序(SheetDeactivate事件) 08028当工作表被计算执行程序(SheetCalculate事件) 08029当双击工作表执行程序(SheetBeforeDoubleClick事件) 08030当右击工作表执行程序(SheetBeforeRightClick事件) 08031当工作表任何单元格数据发生变更执行程序(SheetChange事件) 08032激活、非活动工作表执行程序(Activate事件和Deactivate事件) 08033当对工作表进行计算执行程序(Calculate事件) 08034当单元格数据发生变化执行程序(Change事件) 08035当选定单元格区域发生变化执行程序(SelectionChange事件) 08036超链接被执行执行程序(FollowHyperlink事件) 08037当双击工作表执行程序(BeforeDoubleClick事件) 08038当在工作表中右击执行程序(BeforeRightClick事件) 08039当图表被激活和被更改执行程序(Activate事件) 08040双击图表执行程序(BeforeDoubleClick事件) 08041在图表上单击或右击执行程序(MouseDown事件) 08042在选定了图表要素执行程序(Select事件) 08043在选定了图表要素执行程序(Select事件) 08044在图表上移动鼠标执行程序(MouseMove事件) 08045使用图表工作表的事件来执行程序 08046装载显示用户窗体执行程序(Initialize事件) 08047激活用户窗体执行程序(Activate事件) 08048关闭用户窗体执行程序(QueryClose事件) 08049单击用户窗体执行程序(Click事件) 08050单击执行程序(Click事件) 08051双击执行程序(DblClick事件) 08052控件值被改变执行程序(Change事件之一) 08053控件值被改变执行程序(Change事件之二) 08054在鼠标指针移到控件上面执行程序(MouseMove事件) 08055在获得焦点前执行程序(Enter事件) 08056在失去焦点且数据有变更执行程序(BeforeUpdate事件) 08057在数据有变更执行程序(AfterUpdate事件) 08058在按键执行程序(KeyPress事件) 08059Excel工作表的ActiveX控件对象事件的使用示例 09001为现有的菜单控件添加、删除自定义菜单命令 09002在Excel菜单栏中创建、删除自定义菜单控件 09003创建、删除多级自定义菜单控件 09004创建、删除自定义主菜单栏 09005在Excel工具栏中添加、删除自定义命令按钮 09006在Excel工具栏中添加、删除自定义组合框按钮 09007在Excel工具栏中添加、删除自定义下拉命令按钮 09008创建、删除自定义工具栏,并指定显示位置 09009创建、删除由内置命令组成的自定义工具栏 09010为Excel系统默认的快捷菜单添加、删除新菜单命令 09011为快捷菜单添加、删除内置命令 09012创建一个全新的快捷菜单 09013获取Excel的全部快捷菜单信息 09014使Excel的快捷菜单无效 09015为用户窗体和控件添加自定义快捷菜单 10001查询数值及公式字符串(Find方法) 10002查询数值及公式结果(Find方法) 10003查询数值及公式结果(Match函数) 10004查询数值及公式结果(VLookup函数) 10005查询数值及公式结果(Find方法和Offset属性) 10006查询数值及公式结果(Collection对象) 10007查询数值及公式结果(DGet函数) 10008查询含有某字符的单元格数据(Like运算符) 10009查询含有某字符的单元格数(CountIf函数) 10010使用数据库函数DCountA实现复杂查询 10011从多个工作表或工作簿中查询数据 10012自动排序 10013使用自定义序列进行排序 10014使用多个关键字进行排序 10015先进行排序然后再恢复排序前的状态 10016按照单元格的颜色、字体颜色进行排序 10017按照字符的长度进行排序 10018字母与数字混合情况下的排序 10019对数组的元素值进行排序 10020执行自动筛选 10021撤销自动筛选 10022执行高级筛选(与条件) 10023执行高级筛选(或条件) 10024撤销高级筛选 10025复制筛选出的数据 10026删除没有出现在筛选结果中的所有行 10027筛选不重复的数据 10028获取两个工作表中相同数据的行数据 10029获取只存在于某个工作表中的行数据 10030删除数据区域内的所有空行 10031删除数据区域内的所有空列 11001从一个工作表中查询数据(ADO+SQL) 11002从多个工作表中查询数据(ADO+SQL) 11003查询其他工作簿数据(ADO+SQL) 11004利用DAOSQL查询工作簿数据 11005在不打开工作簿的情况下对多个工作簿进行汇总 12001利用DAO对象创建Access数据库和数据表 12002利用ADO对象创建Access数据库和数据表 12003检查数据表是否存在 12004获取数据库中所有的数据表名称 12005检查字段是否存在 12006获取数据库中某数据表的所有字段信息 12007字段类型常量与字段类型英文名称的转换函数 12008将Access数据库的数据全部导入到Excel工作表中 12009将Access数据库的某些字段导入到Excel工作表中 12010查询不重复的记录(Distinct) 12011查询最前面的若干条记录(Top) 12012利用Like运算符进行模糊查询 12013对查询结果进行排序(Order) 12014查询某一区间内的数据(Between) 12015进行复杂条件的查询(Where) 12016利用合计函数进行查询(查询最大值和最小值) 12017利用合计函数进行查询(查询合计数和平均值) 12018将第一个查询结果作为查询条件进行查询 12019对查询结果进行分组(Group) 12020将查询结果作为窗体控件的源数据 12021添加新记录 12022修改更新记录 12023删除特定的记录 12024删除全部记录 12025通过窗体编辑记录 12026将整个工作表数据都保存为Access数据库 12027将工作表的某些数据保存到Access数据库中 12028将工作表数据保存到已有的Access数据库中(循环方式) 12029为数据表增加字段 12030改变字段的类型 12031改变字段的长度 12032删除一个字段 12033删除一个数据表 13001将TXT格式文本文件打开为工作簿 13002将CSV格式文本文件打开为工作簿 13003利用QueryTables对象导入文本文件(之一) 13004利用QueryTables对象导入文本文件(之二) 13005利用ADO导入文本文件的全部内容 13006利用ADO导入文本文件的部分内容 13007获取文本文件的行数和列数 13008逐行获取文本文件的行数据,并拆分成列 13009将工作表中的全部数据保存为CSV格式文本文件 13010将工作表部分数据保存为CSV格式文本文件 13011创建新的文本文件并写入数据 13012向已有的文本文件写入数据 13013以行为单位读取文本文件数据 13014以字符为单位读取文本文件数据 13015读取文本文件的全部数据 13016读取文本文件的指定行数据 14001调用数学函数 14002调用财务函数 14003调用日期和间函数 14004调用字符串函数 14005调用强制转换函数 14006调用检查函数 14007调用数组函数 14008使用判断函数(IIf函数) 14009使用格式函数(Format函数) 14010设计参数可选的自定义函数 14011设计参数个数不确定的自定义函数 14012设计返回数组的自定义函数 14013为自定义函数添加信息提示 14014对自定义函数进行归类 14015快速创建列标题和行标题 14016快速向单元格区域输入数据 14017快速获取单元格区域数据 14018使用数组提高计算效率 14019向单元格输入一般公式 14020向单元格区域输入数组公式 14021快速复制公式 14022列举工作簿内所有的公式 14023对指定的单元格区域进行计算 14024删除工作表中的所有数据,但保留所有公式 15001按指定次数进行循环(ForNext) 15002在循环过程中退出(ExitFor) 15003不确定次数进行循环(DoLoop) 15004在循环过程中退出(ExitDo) 15005对数组的所有元素进行循环 15006对没有规律性的元素进行循环 15007对集合中的所有对象进行循环 15008进行多重循环 15009判断是否为数值 15010判断是否为日期 15011判断是否为数组 15012判断是否为对象 15013判断变量中是否保存有对象 15014判断程序是否有错误 15015判断字母的大小写 15016判断字符的全角和半角 15017使用SelectCase进行多条件处理(数值区间) 15018使用SelectCase进行多条件处理(关键字Is) 15019使用SelectCase进行多条件处理(Like运算符) 16001设置、取消打印区域(固定区域) 16002设置、取消打印区域(不固定区域) 16003设置、取消打印区域(全部工作表) 16004设置打印列标题和行标题 16005设置页边距(以磅为单位) 16006设置页边距(以in为单位) 16007设置页边距(以cm为单位) 16008设置页眉 16009设置页脚 16010设置页面的水平、垂直居中位置 16011设置纵向或横向打印模式 16012设置打印纸张大小 16013将工作表的全部数据都缩印在一页内 16014设置打印行号、列标和网格线 16015显示打印预览 16016打印工作表 16017在任意位置设置换页 16018获取打印总页数 16019显示打印机设置对话框 16020显示打印内容对话框 16021显示页面设置对话框 16022显示分页预览 16023隔页打印工作表 16024设置是否打印工作表中的Shape对象 17001获取VBA工程信息资料 17002设置VBA工程信息资料 17003获取工程中所有的对象名称和类型 17004更改模块和用户窗体的名称 17005导出模块和用户窗体 17006导入模块和用户窗体 17007清除立即窗口内容 17008获取对象中所有定义的变量 17009获取对象中所有过程的名称 17010获取引用的项目信息 17011增加引用项目 17012取消引用项目 17013利用VBA插入用户窗体和控件,并为控件编写事件程序代码 17014利用VBA插入标准模块并写入程序代码 17015利用VBA插入类模块 18001获取文件夹内的所有文件(FileSearch) 18002获取文件夹内的某一类型的所有文件(FileSearch) 18003获取文件夹内的所有文件(Dir函数) 18004判断文件是否存在 18005复制文件 18006移动文件 18007删除文件 18008重命名文件 18009获得文件的修改日期和间 18010获得文件大小 18011获取文件的属性 18012设置文件的属性 18013获取当前驱动器的名称 18014变更当前驱动器的名称 18015判断文件夹是否存在 18016创建文件夹 18017获取当前的文件夹 18018移动文件夹 18019删除文件夹 18020更改文件夹名 18021获取文件夹的属性 18022判断文件是否存在(FileExists) 18023复制文件(CopyFile) 18024删除文件(DeleteFile) 18025移动文件(MoveFile) 18026获取文件的属性(Attributes) 18027获取文件的信息资料(GetFile) 18028获取文件的基础名称(GetBaseName) 18029获取文件的扩展名(GetExtensionName) 18030获取文件的全名(GetFileName) 18031获取文件所在的文件夹名(GetParentFolderName) 18032获取文件所在的驱动器名(GetDriveName) 18033获取文件夹内的所有文件清单 18034判断文件夹是否存在(FolderExists) 18035复制文件夹(CopyFolder) 18036删除文件夹(DeleteFolder) 18037移动文件夹(MoveFolder) 18038创建文件夹(CreateFolder) 18039获取文件夹的属性(Attributes) 18040获取文件夹的信息资料(GetFolder) 18041获取文件夹中的所有子文件夹名(SubFolders) 18042获取特定文件夹的路径(GetSpecialFolder) 18043判断驱动器是否存在(DriveExists) 18044获取所有可以使用的驱动器清单(Drives) 18045获取驱动器的信息资料(GetDrive) 19001创建新的Word文档(前绑定) 19002创建新的Word文档(后绑定) 19003打开已有的Word文档(前绑定) 19004打开已有的Word文档(后绑定) 19005将Word文档内容复制到工作表 19006将工作表数据复制到Word文档中 19007创建新的PowerPoint文档 19008打开已有的PowerPoint文档(前绑定) 19009打开已有的PowerPoint文档(后绑定) 19010以Excel工作表数据为基础制作PowerPoint幻灯片 19011将Excel工作表的图表复制到PowerPoint幻灯片中 19012按工作表中的地址发送邮件(前绑定) 19013将工作簿作为附件发送邮件(前绑定) 20001打开记事本(Shell函数) 20002打开计算器 20003以指定的文件夹打开Windows资源管理器 20004打开控制面板的某个项目窗口 20005创建文件的快捷方式 20006从Excel启动指定的网页 20007建立Web查询 20008定刷新Web查询 20009利用OutlookExpress发送邮件 20010获取显示器分辨率 20011利用VBA播放声音
软件设计方案 第一章、用户界面设计规范 1 1、界面设计介绍 1 2、界面设计原则 2 第二章、数据库设计原则 6 1、设计数据库之前 6 2、表与字段的设计 6 3、键和索引 7 4、数据完整性设计 8 5、其他设计 8 6、数据库命名规范 9 第三章、编程规范总则 10 1、排版 10 2、注释 11 3、标识符命名 12 4、可读性 13 5、变量与结构 13 6、函数与过程 14 7、可测性 15 8、程序效率 16 9、质量保证 17 10、代码编辑、编译与审查 18 11、代码测试与维护 18 第一章、用户界面设计规范 用户界面:又称人机界面,实现用户与计算机之间的通信,以控制计算机或进行用户 与计算机之间的数据传送的系统部件。 GUI:即图形用户界面,一种可视化的用户界面,它使用图形界面代替正文界面。 本系统坚持图形用户界面(GUI)设计原则,界面直观、对用户透明。用户接触软件后 对界面上对应的功能一目了然、不需要多少培训就可以方便地使用本应用系统。 1、界面设计介绍 界面设计是为了满足软件专业化标准化的需求而产生的对软件的使用界面进行美 化优化规范化的设计分支。 1)软件启动封面设计 应使软件启动封面最终为高清晰度的图像,选用的色彩不宜超过256色,大小 多为主流显示器分辨率的1/6大。启动封面上应该醒目地标注制作或支持的公司 标志、产品商标、软件名称、版本号、网址、版权声明、序列号等信息,以树立 软件形象,方便使用者或购买者在软件启动的候得到提示。插图宜使用具有独 立版权的、象征性强的、识别性高的、视觉传达效果好的图形,若使用摄影也应 该进行数位处理,以形成该软件的个性化特征。如果是系列软件还将考虑整体设 计的统一和延续性。 2)软件框架设计 软件的框架设计要复杂得多。软件框架设计应该简洁明快,尽量少用无谓的装 饰,应该考虑节省屏幕空间,各种分辨率大小,缩放的状态和原则,并且为 将来设计的按钮、菜单、标签、滚动条及状态栏预留位置。设计中将整体色彩组 合进行合理搭配,将软件商标放在显著位置,主菜单应放在左边或上边,滚动条 放在右边,状态栏放在下边,以符合视觉流程和用户使用心理。 3)软件按钮设计 软件按钮设计应该具有交互性,即应该有3到6种状态效果:点击前鼠标未放在 上面的状态;鼠标放在上面但未点击的状态;点击状态;点击后鼠标未放在 上面的状态;不能点击状态;独立自动变化的状态。按钮应具备简洁的图示 效果,名称易懂,用词准确,能望文知意最好,让使用者产生功能关联反应,群 组内按钮应该风格统一,功能差异大的按钮应该有所区别。 4)软件面板设计 软件面板设计应该具有缩放功能,面板应该对功能区间划分清晰,应该和对话 框、弹出框等风格匹配,尽量节省空间,切换方便。 5)菜单设计 菜单设计一般有选中状态和未选中状态,左边应为名称,右边应为快捷键。如 果有下级菜单应该有下级箭头符号,不同功能区间应该用线条分割。 对与进行的操作无关的菜单要用屏蔽的方式加以处理,如果采用动态加载方式, 即只有需要的菜单才显示最好。主菜单的宽度要接近,字数不应多于四个,每个 菜单的字数能相同最好。 主菜单数目不应太多,最好为单排布置。 6)标签设计 标签设计应该注意转角部分的变化,状态可参考按钮。 7)图标设计 图标设计色彩不宜超过64色,大小为16x16、32x32两种,应该加以着重考虑视 觉冲击力,它需要在很小的范围表现出软件的内涵,在设计使用简单的颜色, 利用眼睛对色彩和网点的空间混合效果,做出精彩图标。 8)滚动条及状态栏设计 滚动条主要是为了对区域性空间的固定大小中内容量的变换进行设计,应该有 上下箭头,滚动标等,有些还有翻页标。状态栏是为了对软件当前状态的显示和 提示。 9)安装过程设计 安装过程设计主要是将软件安装的过程进行美化,包括对软件功能进行图示化 。 10)包装及商品化 最后软件产品的包装应该考虑保护好软件产品,功能的宣传融合于美观中,可 以印刷部分产品介绍。 2、界面设计原则 1)易用性 (1)完成相同或相近功能的按钮用Frame框起来,常用按钮要支持快捷方式; (2)完成同一功能或任务的元素放在集中位置,减少鼠标移动的距离; (3)按功能将界面划分局域块,用Frame框括起来,并要有功能说明或标题; (4)界面要支持键盘自动浏览按钮功能,即按Tab键的自动切换功能; (5)同一界面上的控件数最好不要超过10个,多于10个可以考虑使用分页界 面显示; (6)分页界面要支持在页面间的快捷切换,常用组合快捷键Ctrl Tab; (7)默认按钮要支持Enter及选操作,即按Enter后自动执行默认按钮对应操作 ; (8)可写控件检测到非法输入后应给出说明并能自动获得焦点; (9)Tab键的顺序与控件排列顺序要
第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概念和定义 用户界面:又称人机界面,实现用户与计算机之间得通信,以控制计算机或进行用户和计算机之间得数据传送得系统部件。 GUI:即图形用户界面,一种可视化得用户界面,它使用图形界面代替正文界面。 1.3用户假定 将使用本系统的用户定义为:对应用程序或计算机的一般用法有一定了解,用户希望界面符合WINDOWS9X特别是OFFICE97风格,对易用性、简洁性有比较高的要求,对界面快速交互没有很强的要求(即不希望通过命令方式快速交互)。 2用户界面设计规范 2.1用户界面设计原则 本系统坚持图形用户界面(GUI)设计原则,界面直观、对用户透明:用户接触软件后对界面上对应的功能一目了然、不需要多少培训就可以方便使用本应用系统。 界面设计员应该明白软件中用户是所有处理的核心,不应该有应用程序来决定处理过程,所以用户界面应当由用户来控制应用如何工作、如何响应,而不是由开发者按自己的意愿把操作流程强加给用户。 界面设计必须经过确认才能完成。 2.2界面一致性 在界面设计中应该保持界面的一致性。一致性既包括使用标准的控件,也指使用相同的信息表现方法,如在字体、标签风格、颜色、术语、显示错误信息等方面确保一致。 1)显示信息一致性标准 (1)标签提示:字体为不加重、宋体、黑色、灰底或透明、无边框、右对齐、不带冒号、一般情况为五号(10号); (2)日期:正常字体、宋体、白底黑字、3-D lowered; (3)对齐方法: l 左对齐:一般文字、单个数字、日期等 l 右对齐:数字、间、日期加间。 (4)分辨率为800*600,增强色16色 (5)字体缺省为宋替、五号、黑色 (6)底色缺省采用灰色 这些信息的排列显示风格供参考, 在同一个应用中,这些信息的表现方式不一致,会使得用户分散注意力,影响这一软件的使用,因此开发者应当注意在同一软件中表现形式的一致性。 2)布局合理化原则 应注意在一个窗口内部所有控件的布局和信息组织的艺术性,使得用户界面美观。 在一个窗口中按tab键,移动聚焦的顺序不能杂乱无章,tab 的顺序是先从上至下,再从左至右。一屏中首先应输入的和重要信息的控件在tab顺序中应当靠前,位置也应放在窗口上较醒目的位置。 布局力求简洁、有序、易于操作。 3)鼠标与键盘对应原则 应遵循的是可不用鼠标的原则:应用中的功能只用键盘也应当可以完成,即设计的应用中还应加入一些必要的按钮和菜单项。 但是,许多鼠标的操作,如双击、拖动对象等,并不能简单地用键盘来模拟即可实现。例如在一个列表框中用鼠标双击其中一项可以表示选中该项内容。为了用键盘也能实现这一功能,必须在窗口中定义一个表示选中的按钮,以作为实现双击功能的替代(或其它方式)。又如在一个窗口中有两个数据窗口,可以用鼠标从一个数据窗口中将一项拖出然后放到另一个中。如果只用键盘,就应当在菜单中设置拷贝或移动的菜单项。 4)快捷键 在菜单项中使用快捷键可以让使用键盘的用户操作得更快一些,在西文Windows及其应用软件中快捷键的使用大多是一致的。本系统中应用的快捷键在各个配置项上语义必须保持一致。 面向事务的: l Ctrl-D 删除 l Ctrl-F 寻找 l Ctrl-I 插入 l Ctrl-N 新记录 l Ctrl-S 保存 查询/列表: l Ctrl-O l Ctrl-R 其它: l Ctrl-C 拷贝 l Ctrl-H 帮助 l Ctrl-P 打印 l Ctrl-V 粘贴 l Ctrl-W 关闭 l Ctrl-X 剪切 MS Windows保留键: l Ctrl-Tab 下一窗口 l Ctrl-Esc 任务列表 l Ctrl-F4 关闭窗口 l Alt-F4 结束应用 l Alt-Tab 下一应用 l Enter 缺省按钮/确认操作 l Esc 取消按钮/取消操作 l Shift-F1 上下文相关帮助 其它快捷键 其它快捷键使用汉语拼音的开头字母,不常用的可以没有快捷键。 2.3向导(WIZARD)使用原则 对于应用中某些部分的处理流程是固定的,用户必须按照指定的顺序输入操作信息,为了使用户操作得到必要的引用应该使用向导,使用户使用功能比较轻松明了,但是向导必须用在固定处理流程中,并且处理流程应该不少于3个处理步骤。 2.4系统响应间 系统响应间包括两个方面:间长度和间的易变性。用户响应间应该适中,系统响应间过长,用户就会感到不安和沮丧,而响应间过短有会造成用户加快操作节奏,从而导致错误。系统响应间的易变性是指相对于平均响应间的偏差。即使响应间比较长,低的响应间易变性也有助于用户建立稳定的节奏。因此在系统响应间上坚持如下原则: 响应间长度 界面设计 0-10 秒 鼠 标 显 示 成 为 沙 漏 10 到18 秒 由微帮助来显示处理进度 18 秒 以 上 显示处理窗口,或显示进度条 一个长间的处理完成 应给予完成警告信息 响应间的易变性 界面设计 用户感觉不到 不考虑 用户稍微感觉到 由微帮助提供易变性说明 容易性大而且间绝对差别大 显示易变性提示 2.5用户帮助设施 常用的帮助设施有两种:集成的和附加的。集成的帮助设施一开始就是设计在软件中的,它与语境有关,用户可以直接选择与所要执行操作相关的主题。通过集成帮助设施可以缩短用户获得帮助的间,增加界面的友好性。附加的帮助设施在系统建好以后再加进去的。通常是一种查询能力比较弱的联机帮助。 本系统提供这两种帮助设施,设计和实现遵循以下原则: 1) 进行系统交互,提供部分帮助功能,即:提供主要操作的帮助 2) 用户可以通过帮助菜单、F1键和帮助按钮(如果有的话)访问帮助 3) 表示帮助根据需要提供三种方式的选择:另一个窗体、微帮助和指出参考某个文档 4) 用户如何回到正常交互方式有两种选择:返回键和功能键 5) 帮助信息的构造:采用分层式帮助 6) 微帮助提供:由状态栏提供,或控件上的提示文本 2.6出错信息和警告 出错信息和警告是指出现问题系统给出的坏消息,本系统对于出错信息和警告应该遵循以下原则: 1) 信息以用户可以理解的术语描述; 2) 信息应提供如何从错误中恢复的建设性意见; 3) 信息应指出错误可能导致那些不量后果,以便用户检查是否出现了这些情况或帮助用户进行改正; 4) 信息应伴随着视觉上的提示,如特殊的图像、颜色或信息闪烁。 5) 信息不能带有判断色彩,即任何情况下不能指责用户 2.7命令交互 由于本系统用户是WINDOWS用户,故本系统不提供命令交互。 2.8一般交互原则 本系统一般交互遵循以下原则: 1) 一致性:菜单选择、数据显示以及其它功能都应使用一致的格式。 2) 提供有意义的反馈 3) 执行有较大破坏性的动作前要求确认 4) 在数据录入上允许取消大多数操作 5) 减少在动作间必须记忆的信息数量 6) 在对话、移动和思考中提高效率 7) 允许用户非恶意错误,系统应保护自己不受致命作物的破坏 8) 按功能对动作分类,并按此排列屏幕布局,设计者应那里提高命令和动作组织的内聚性 9) 提供语境相关的帮助机制 2.9信息显示原则 本系统信息显示遵循以下原则: 1) 只显示与当前用户语境环境有关的信息; 2) 不要用数据将用户包围,使用便于用户迅速吸取信息的方式表现信息; 3) 使用一致的标记、标准缩写和可预测的颜色,显示信息的含义应该非常明确,用户不必再参考其它信息源; 4) 产生有意义的出错信息,见2.6; 5) 使用缩进和文本来辅助理解; 6) 使用窗口分隔控件分隔不同类型的信息; 7) 高效地使用显示器的显示空间。 2.10数据输入原则 本系统数据输入遵循以下原则: 1) 尽量减少用户输入动作的数量; 2) 维护信息显示和数据输入的一致性; 3) 交互应该灵活的,对键盘和鼠标输入的灵活性提供支持; 4) 在当前动作的语境中使不合适的命令不起作用; 5) 让用户控制交互流,用户可以跳过不必要的动作、改变所需动作的顺序(如果允许的话)以及在不退出系统的情况下从错误状态中恢复; 6) 为所有输入的动作提供帮助,见2.5; 7) 消除冗余输入。可能的话提供缺省值、绝不要让用户提供程序中可以自动获取或计算出来的信息。 3用户界面设计更改和追加说明 3.1更改说明 更改本用户界面设计应该征得所有开发者的同意,所有开发者应该按更正后的原则修改和设计用户界面。 3.2追加说明 追加本用户界面设计应该发布给所有开发者,所有开发者应该按追加后的原则修改和设计用户界面。 4其它 无。
多媒体数据库管理系统探讨 在关系型数据库管理系统基础之上,设计了对象- 关系型数据库管理系统,对常见多媒体数据库包括图形、图像和音频信息进行了管理。 系统具有对多媒体数据进行存储、操作(处理)、查询、显示(播放)的功能,采用VB 开发语言和SQL Server数据库系统。设计实现了系统中系统管理、图片管理、声音管理、视频文件和数 据管理五个模块。 软件具有良好的图形界面和接口、操作方便、简单实用。 标签:多媒体数据库管理系统;Visual Basic;SQL Server 1 总体框架设计 本软件采用VB作为前台的开发语言,后台数据库采用SQL Server数据库系统。VB是应用程序的主要工具,SQL Server 是主流的关系型数据库之一,利用它们的密切集成可以建立更好的应用程序。 1.1 主体功能设计概要 使用VB的窗口、按钮等控件实现主题框架的设计,主界面上用户可进行选择各个功能 ,菜单栏中包括系统管理、图片管理、声音管理、视频文件和数据管理。功能结构图, 如图1所示。 图1 功能结构图 1.2 面向对象技术 在面向对象程序设计中,"对象(Object)"是系统中的基本运行实体,是有特殊属性( 数据)和行为方式(方法)的实体。即对象有两个元素构成:一组包含数据的属性;另一组 允许对属性中包含的数据进行操作的方法。也可以说,"对象"是将某些数据代码和对该 数据的操作代码封装起来的模块,是有特殊属性(数据)和行为方式(方法)的逻辑实体。 程序语句操纵一个对象来完成相应的操作,与对象有关的完成相应操作的程序语句称 为"方法"(Method)。方法是对象本身内含的执行特定操作的函数或过程。方法的内容是 不可见的,用户不必过问,只要执行它就可以了。方法的操作范围只能是对象内部的数 据或对象可以访问的数据。 由于而向对象模型能够根据多媒体的各方而特性,更好地解决MDBMS的系统结构、对 象类层次的存储结构、存取方法、多媒体数据模型及其处理方法、友好的用户接口等问 题,所以建立而向对象的多媒体数据模型是现阶段研究多媒体数据库的主要方向。 在面向对象的多媒体数据库中,首先要产生一系列对象库,再从几个相似的对象库抽 取共同属性和方法,形成类库。这种结构类似于树形结构:最上层的超类库可作为树根, 树根下可有多个类库,每一类库下有多个子类库,每一子类库下又有多个中- 媒体对象库。 1.3 关键技术 1.3.1 图像 多媒体数据库中图象的入库方法是:先在数据库中建立存放图像信息的字段,其数据 类型必须为LongBinary。然后使用Image 对象,并使之与该字段关联。再使用LoadPicture()函数,可以将图像装入数据库。将 图像从多媒体数据库中删除可以调用LoadPicture()函数实现,其入口参数必须设置为 空。 1.3.2 视频和声音 VB 并没有提供将视频或声音直接存入数据库的对象,但可以采用"模拟"的方式。即当用户 指定好视频或声音文件名称之后,便把视频或声音的文件名和路径名存放在数据库的有 关字段中。而当要播放这段视频或声音,再根据存放在数据库该字段中的视频或声音 的文件名和路径名去打开它并播放之。其中用户选取视频或声音文件用CommonDialog 对象实现,而视频或声音的播放采用Mmcontrol 对象实现。 2 测试与维护 2.1 测试环境 操作系统:WINDOWS XP CPU:Intel(R) Pentium(R) 4CPU 2.40GHz 硬盘:80G 显示器:1024*768分辨率 内存:512MB 系统开发软件:Visual Basic 6.0 2.2 测试方法 测试包括软件测试和程序测试。 软件测试是对本软件系统的软件计划、软件设计、软件编码进行差错和纠错的活动。 测试的目的是找出软件设计 开发全周期中各个阶段的错误,以便分析错误的性质与位置而加以纠正。纠正过程可 能涉及到改正或重新设计相关的文档活动。找错的活动叫测试,纠错的过程叫调试。 软件测试方法又可分为两大类,即静态测试和动态测试。静态测试是对被测程序进行 特性分析的一些方法的总称,这种方法的主要特性是不利于用计算机运行被测试的程序 ,而是采用其他手段达到检测的目的。动态测试是实际运行被测程序,输入相应的测试 用例,判定执行结果是否符合要求,从而检验程序的正确性、可靠性和有效性。动态测 试的两种主要方法是黑盒测试和白盒测试。 程序测试是对编码阶段的语法错、语义错、运行错进行查找的编码执行活动。找出编 码中错误的代码执行活动叫程序测试,纠正编码中错误的代码执行活动叫程序调试。通 过查找编码错与纠正编码错来保证算法的正确实现。 软件测试及调试与程序测试及调试相同之处都是查错与纠错的活动。差别在于范围不 同软件测试及调试覆盖软件生存周期整个阶段,而程序测

1,451

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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