关于本文

易语言 菜鸟问答

本文由西风收集整理
OICQ:105572747
EMAIL:westwindxp@163.com
 westwindxp@hotmail.com

申明：1、本文大部分问答收集自中国易语言俱乐部，仅供易语言初学者入门参考。如果你有更多的问题，请光临中国易语言俱乐部，那里将有众多易语言高手随时为你解惑释疑。
2、由于本人水平有限，文中难免有错误发生。而且易语言一定会不断发展，易语言知识库也将不断更新。如果你发现本文中某些内容与易语言知识库有出入，请以易语言知识库为正。


系统操作

  1. 易语言是一种什么样的语言？
  2. 易语言的作者是谁，如何联系？
  3. 易语言的运行环境是什么？它支持什么样的系统？
  4. 如何保存我输入的易程序，默认的易程序扩展名是什么？
  5. 易程序能编译为EXE文件吗？
  6. 用易语言编译的可执行文件能不能在未安装易语言的机器中单独运行？
  7. 在输入易程序时，能随时查看程序的运行效果吗？
  8. 在预览时，如何关闭没有控制按钮的窗口？
  9. 为什么我输入的易程序总是显示为草稿？
  10. 为什么我在窗口的属性中改变了窗口的图标，可编译后易程序还是默认的易字图标呢？
  11. 我在程序配置中添加图标是总是提示缺少16*16，16色的图标，为什么？
  12. 为什么我对窗口设置了自定义鼠标指针，显示出来的总是一个黑色的方框呢？
  13. 易语言能不能把草稿、备注等和正常的易代码用不同的颜色区分开？
  14. 易语言可以以文本形式保存或查看吗？
  15. 什么是易模块？如何创建和使用易模块？
  16. 打开易语言时，总是新建一个“_启动窗口”，如何直接新建“启动程序集”，“_启动子程序”呢？
  17. 如何在自己的易程序中添加一个新窗口？在窗口中如何添加编辑框或其它控件？
  18. 设置好我的程序窗口后，如何让窗口或窗口中的控件执行相关的动作？
  19. 我在易例程中看到某些子程序与窗口单元没有关联，这样的子程序如何添加又怎样使用？
  20. 两个程序集中各有一个同名的子程序时，系统怎么区别和调用这两个子程序？
  21. 如何将FoxPro的DBF格式转换为e的EDB格式？
  22. 请问图片资源怎样插入和使用？
  23. 编写程序时，如何在不同的窗口或程序集中切换？
  24. 编写程序时，添加了一个窗口，现在要如何才能删除它？
  25. 怎样在窗口中添加菜单？
  26. 怎样制作右键菜单？
  27. 如何在程序中禁止一个菜单项，使它可以被看见但不可以被选择？
  28. 如何控制菜单项的可视属性？
  29. 如何让一个菜单项显示为选中状态（在菜单项的前面显示一个“√”号）？
  30. 怎样在易程序中加入或修改备注？

易语言是一种什么样的语言？

易语言，是由飞扬软件工作室推出的全中文全可视化电脑程序编写语言。她的诞生结束了外国编程语言长期垄断中国市场的局面，使中国人终于可以使用自己的母语来编写各种实用电脑程序。
作为一款由中国人自己设计的编程语言，易语言在中文处理方面做了大量的工作。
易语言内置四种名称输入法：首拼、全拼、双拼、英文。 三种拼音输入法均全面支持南方音。另外，易语言支持任何一种系统支持的汉字输入法。使用这些输入法用户能够以英文语句的录入速度来录入全中文程序语句。
程序全部以中文方式显示，运算符号全部显示为对应的中文符号，日期时间以中文格式呈现，以便于我国用户理解、阅读程序；语言中还专门提供了适合中国国情的命令，如中文格式日期时间处理、汉字发音处理、全半角字符处理、人民币金额处理等等。以后此方面将会继续得到大量扩充及增强。

返回

易语言的作者是谁，如何联系？

易语言 是由个人开发的一款中文编程语言，它的作者是吴涛，他所在的工作室叫飞扬软件工作室，所以我们一般也称吴涛为飞扬。
吴涛的联系方法：
Email: zjwutao@yc.hb.cninfo.net
fly@eyuyan.com。
电话：（家电）010-62526915
(办电）010-62629999-212
中国易语言网站：http://eyuyan.com

返回

易语言的运行环境是什么，它支持什么样的系统？

易语言是由飞扬工作室出品的 Windows 环境下的全中文实用电脑程序编写语言，她支持现今所有的 Windows 32 位操作系统，即：Windows 9X、ME、2000、NT 等。
在Windows 95下运行易语言需要另外安装补丁程序(Winsock2.2)。点击下载

返回

如何保存我输入的易程序，易程序默认的扩展名是什么？

选择程序菜单中的“保存”（CTRL+S）或“另存为”，在弹出的对话框中输入你要保存到的文件名，就可以保存你的易程序了。
易程序默认的扩展名是e，双击.e文件，将自动运行易语言并打开程序。

返回

易程序能编译为EXE文件吗？

可以。
选择程序菜单中的“编译独立发布版本”（F7）或“编译非独立发布版本”，就可以将你的易程序编译为EXE文件，以后，你运行该文件，将不再需要启动易语言。

返回

用易语言编译的可执行文件能不能在未安装易语言的机器中单独运行？

如果你在编译易程序时选择了“编译为非独立发布版本”，所生成的可执行文件体积将会较小，但在其它电脑中运行时，必须同时把易语言支持库krnln.fne（krnln.fnr)拷贝到Windows的系统目录或该执行程序的相同目录下。
在易语言2.0版以后，提供了“编译为独立发布版本”（F7）功能，选择此功能编译后的可执行文件体积较大（约比前者大500K），但该文件不再需要易语言支持库，可以完全脱离易语言运行。

返回

在输入易程序时，能随时查看程序的运行效果吗？

在编辑易程序时，你可以随时查看程序的运行效果，方法如下：
1、选择“查看”菜单中的“预览被设计窗口”（CTRL+ENTER）,或在所编辑窗口上单击鼠标右键，选择“预览”，就可以观看到你所设计的程序窗口的实际效果。
2、选择“运行”菜单中的“运行”（F5），或单击工具条中运行按钮（右三角形），就可以运行你所编辑的易程序，从而查看运行效果。在程序运行时，选择“运行”菜单中的“终止”（CTRL+F5）或单击工具条中的终止按钮（方块），你可以随时终止正在运行的易程序。
3、利用易语言“调试”菜单中的各项功能，你还可以对你的易程序进行调试。

返回

在预览时，如何关闭没有控制按钮的窗口？

在预览时，单击窗口右上角的关闭按钮可以关闭正在预览的窗口，但当所预览的窗口被设置为无控制按钮时，要如何关闭呢？
其实很简单，单击Esc键就可以了。在预览时，窗口的“Esc键关闭”属性将被忽略，即使你所预览的窗口的“Esc键关闭”属性被设置为假，也可以用Esc键关闭窗口 。

返回

为什么我输入的易程序总是显示为草稿？

编辑易程序时，每输入一行程序，必须使用回车键确认，否则将自动保存为草稿。
保存为草稿的易程序行，只要再次进行编辑，并用回车键确认，就可以保存为正常的易程序了。

返回

为什么我在窗口的属性中改变了窗口的图标，可编译后易程序还是默认的易字图标呢？

在窗口属性中设置图标，只对当前窗口有效，要改变易程序编译后的图标，必须在“程序”菜单中的“程序配置”中设置。

返回

我在程序配置中添加图标是总是提示缺少16*16，16色的图标，为什么？

目前易语言只支持16色的图标，并且该图标中必须同时包含32*32和16*16两种大小的图标。关于这种图标的制作方法，你可以到各大软件下载网站下载一个图标制作工具，易语言论坛中也有很多地方提供相关工具的下载。
备注：在VFP或VB中提供的ico图标，一般都满足易语言的要求。而且，使用VFP中随带的图象编辑器（imagedit.exe）就可以轻松制作类似图标。

返回

为什么我对窗口设置了自定义鼠标指针，显示出来的总是一个黑色的方框呢？

易语言自定义鼠标指针只支持单色（即黑白）的指针文件。如果你使用的是16色或更多颜色的指针，就会出现这种情况。

返回

易语言能不能把草稿、备注等和正常的易代码用不同的颜色区分开？

选择“程序”菜单中的“系统配置”，在弹出的系统配置对话框中，选“程序显示”-“颜色配置”，可以对各种类型的颜色进行设置，选择你所喜欢的就是了。

返回

易语言可以以文本形式保存或查看吗？

由于易语言采用了特殊的流程方式，所以无法直接在文本状态下输入易程序代码。但易语言提供了一项“复制程序文本”功能（在“编辑”菜单中），可以将你所选中的易程序复制为程序文本，保存起来以方便查看或打印。
需要注意的是：易语言的程序文本无法直接还原为易程序。

返回

什么是易模块？如何创建和使用易模块？

易模块实际上是一个特殊的易程序，它与普通的易程序相比，有以下特点：
    1、必须具有程序名称（通过“程序->程序配置”菜单设置），此名称代表模块名称；
    2、必须具有“_启动子程序”，此子程序负责进行易模块的初始化；
    3、必须具有名为“_接口程序集”的程序集，此程序集用作公开此易模块的对外接口，其中的所有子程序均可由外部程序直接调用。

在易语言刚运行时或运行后在“程序”菜单中选择“新建”，在弹出的对话框中选择易模块，就可以进行易模块编辑状态。开发易模块时注意点如下：
    1、请将初始化易模块的代码放置到“_启动子程序”中，任何使用了此模块的易程序在运行前都会首先自动调用该子程序。如果在“_启动子程序”中发现初始化失败，请返回 -1 ，系统会自动终止其所处易程序的执行；
    2、请将所有欲公开给第三方使用的子程序放置到“_接口程序集”中；
    3、程序书写完毕后请选择“编译为易模块”将其编译为易模块。

在使用第三方所提供的易模块之前，请做如下操作：
    1、使用“程序->易模块管理”导入该模块到系统；
    2、使用“程序->易模块管理”创建对应于该模块的模块程序集，该程序集的名称自动为“_模块_”加模块名称；
    模块程序集创建完毕后，就可以直接使用该程序集中的子程序了，就如同这些子程序是自己所编写的一样。在编译易程序时所有被使用的易模块会自动被一起编译进去。

返回

打开易语言时，总是新建一个“_启动窗口”，如何直接新建“启动程序集”，“_启动子程序”呢？

在易语言菜单“程序 - 系统配置”中选择“通常”选择夹，设置程序启动方式为“通过名为“_启动子程序”的子程序启动”，然后再新建易程序就可以不创建_启动窗口，而直接创建“启动程序集”，“_启动子程序”了。

返回

如何在自己的易程序中添加一个新窗口？在窗口中如何添加编辑框或其它控件？

在易语言菜单中选择“插入 - 新窗口”，或在左侧工作夹中选择至“程序”夹，在窗口上单击鼠标右键，选择“插入新窗口”，就可以插入一个新的窗口了。
在易语言右侧的窗口单元箱中，单击你要添加的控件，然后在窗口上单击左键或拖拉，该控件就被添加到窗口中去了。添加的控件，可以在属性中进行属性设置（把左侧的工作夹选择至“属性”夹）。

返回

设置好我的程序窗口后，如何让窗口或窗口中的控件执行相关的动作？

将易语言左侧工作夹选择至“属性”夹，在工作夹最下方有一标题为“在此处选择加入事件处理子程序”的组合框，单击它并选择相应事件，会自动添加一新的子程序，在该子程序中添加相应的程序代码就可以了。
例如：新建一易程序，在_启动窗口中添加一标签，一按钮，选中按钮，在工作夹最下面组合框中选择“被单击”项目，程序将添加子程序“_按钮1_被单击”，并自动转到代码编辑窗口，在子程序中输入以下代码：标签1.标题 = “祖国你好！”。
按F5运行并单击按钮，标签1的标题将变为“祖国你好！”。（其实这就是易语言三分钟要完成的易程序。）

返回

我在易例程中看到某些子程序与窗口单元没有关联，这样的子程序如何添加又怎样使用？

在易语言菜单中选择“插入 - 新子程序”（如果当前窗口尚未创建程序集，需要先插入新程序集），就可以插入一个名字为“子程序1”的子程序。你可以修改子程序的名称，如果有需要，还可为子程序添加参数（直接在子程序上按回车键）。
子程序添加并输入代码后，就可以象命令函数一样使用。如果子程序的参数设置为不可以空，则使用时必须为它提供相应的参数。
例：新建一易程序，添加一名为“乘法”的子程序：

子程序名 | 返回值类型 | 备注
乘法 | 整数型 | 求得两个数的乘积
参数名 | 类型 | 参考 | 可空 | 数组 | 备注
数值一 | 整数型 |  |  |  |
数值二 | 整数型 |  |  |  |

添加代码：返回（相乘（数值一，数值二））
 然后，在_启动窗口中添加一个按钮，三个编辑框，双击按钮，添加子程序“_按钮1_被单击”，输入以下代码：
编辑框3.内容=到文本（乘法（文本到数值（编辑框1.内容），文本到数值（编辑框2.内容）））
按F5运行程序，在编辑框1和编辑框2中输入数值，单击按钮，编辑框3中将显示两个数的乘积。

返回

两个窗口程序集中各有一个同名的子程序时，系统怎么区别和调用这两个子程序？

易程序默认在当前程序集中寻找子程序，如果找不到，再到别的程序集中去寻找。
所以如果两个窗口程序集中有同名的子程序，将只执行本窗口程序集中的那个子程序。如果在窗口程序集2中要调用窗口程序集1中的某个同名子程序，必须在子程序前面注明窗口，例：

窗口1.子程序1。

返回

如何将FoxPro的DBF格式转换为e的EDB格式？

可以在易语言菜单中选择“数据库 - 数据库格式转换”，或直接运行易语言目录下的可执行文件Dbcnv.exe，本命令可以将其它类型的数据库通过0DBC转化为易数据库。在转化之前必须选择或新建一个ODBC驱动程序的文件数据源。

返回

请问图片资源怎样插入和使用？

可以使用以下两种方法之一加入新的空图片资源：
1、使用“插入->新资源->图片”菜单功能；
2、跳转到图片资源表，如果尚未被打开，请在程序夹中双击“资源表->图片...”项，然后使用回车或者 Ins 键即可加入；
图片资源的引用与常量一样，可以用“#”加图片资源名来表示。例：
在程序中加入图片资源，命名为“我的底图”，然后在程序中可以这样引用：

窗口1.底图 = #我的底图。

返回

编写程序时，如何在不同的窗口或程序集中切换？

当程序中有多个窗口和程序集时，可以在易语言的“窗口”菜单中选择相应的窗口或程序集。
也可以在易语言左侧工作夹中，选择至“程序”夹，然后双击相应的程序集，或打开程序集或“窗口”左边的“+”号，在双击相应的子程序或窗口。

返回

编写程序时，添加了一个窗口，现在要如何才能删除它？

在易语言左侧工作夹中，选择至“程序”夹，打开“窗口”左边的“+”号，选中相应的窗口，直接按Del键，或单击鼠标右键，在弹出菜单中选删除，就可以删除这个窗口了。
同样，程序集和子程序也可以用类似方法删除。

返回

怎样在窗口中添加菜单？

选中相应的窗口，在易语言的菜单中选择“编辑 - 菜单编辑器”或在窗口上单击鼠标右键，在弹出菜单中选择“菜单编辑器”，就可以进入菜单编辑界面编辑你自己的菜单了。

返回

怎样制作右键菜单？

编辑右键菜单的方法与普通的窗口菜单一样，如果你不希望右键菜单在窗口菜单栏中显示，必须把该菜单的可视属性设置为假。然后在鼠示右键被按下时，用“弹出菜单（）”来弹出你设置好的右键菜单。例：在程序中设置了一名为“右键”的菜单。希望当鼠标右键在窗口上按下时显示，可添加如下子程序：

子程序：__启动窗口_鼠标右键被按下
返回值类型：逻辑型

参数：横向位置 数据类型：整数型
参数：纵向位置 数据类型：整数型
参数：功能键状态 数据类型：整数型

弹出菜单 ( 右键 , , )

返回

如何禁止一个菜单项，使它可以被看见但不可以被选择？

在菜单编辑器中有一个选择框名为“允许操作”，保持该项为空即不选，则相应菜单项就被禁止。
如果是在程序运行中动态设置，可以用以下代码（设菜单名称为“复制”）：

复制.禁止=真 使该菜单处于禁止状态，不可操作。
 复制.禁止=假 取消菜单的禁止，使该菜单可以操作。

返回

如何控制菜单项的可视属性？

在菜单编辑器中有一个选择框名为“可视”，保持该项为空即不选，则相应菜单项就被隐藏，相反选中该项则菜单可视。
如果是在程序运行中动态设置，可以用以下代码（设菜单名称为“复制”）：

复制.可视=真 使该菜单处于可视状态。
 复制.可视=假 隐藏该菜单，使该菜单不可视。

返回

如何让一个菜单项显示为选中状态（在菜单项的前面显示一个“√”号）？

在菜单编辑器中有一个选择框名为“选中”，选中该项则相应菜单前面将出现一个“√”号。
如果是在程序运行中动态设置，可以用以下代码（设菜单名称为“复制”）：

复制.选中=真 使该菜单处于选中状态，前面有一个“√”号。
 复制.选中=假 隐藏该菜单前面的“√”号。

返回

怎样在易程序中加入或修改备注？

进入程序编辑窗口，选中要修改备注的代码行，在易语言菜单中选择“编辑 - 修改备注”或在代码行上单击鼠标右键，选择“修改备注”即可以输入或修改你的备注。
如果要更方便的话，直接把备注内容作为程序代码输入，然后保存为草稿就可以了。

返回
作者：西风
 Email: westwindxp@163.com
修订时间：2002年05月19日。


命令分类

  1. VB或VFP中的Case语句在易语言中如何表示？
  2. “返回()”是什么意思？
  3. 为什么要在“计次循环首”或“容器循环首”的参数中加个容器？VB的同类语句不用加。
  4. 随机数和随机种子数什么意思？
  5. 易语言中，怎样求一个数的“n次方”？怎样求一个数的“开n次根式”？
  6. 怎么定义变量？
  7. 容器如何赋值？赋值以后，如何清空至初始值？
  8. 在用编辑框的内容为容器赋值时，为什么会出错？
  9. 数组型容器该如何赋值？
  10. 如何插入常量？常量如何引用？
  11. “加入数据库常量”有什么用？
  12. 怎样用命令中止当前运行的易程序自身？
  13. "列表框1.加入项目(中文含义 [容器1],)"中的中文含义[容器1]容器中包含容器是何意思?
  14. “取命令行（）”是什么意思？应该怎么用？
  15. 如何取得当前程序所在的文件夹名称？我用“取当前目录（）”为什么有时行有时不行？
  16. 我想在易程序运行时保存一个与程序同名的ini文件，我该如何获得文件名？
  17. “读环境变量（）”和“写环境变量（）”中的环境变量名称指什么，如何获得？
  18. “倒找文本（原文本，子文本）”返回的值是不是子文本距原文本尾部的字符数？
  19. 怎样才能用赋值的方法把“homepage”=dword:00000001赋值给一个文本容器？
  20. 如何把日期框1和日期框2的日期相差的天数显示在标签上？
  21. 请问：当我按下按钮1。过一段时间在按按钮2。请问怎样计算出这段时间？
  22. 请问，在E语言中怎样实现用"标签"来动态显示电脑的时间？
  23. 为什么我用“创建目录（）”命令总是无法创建新的目录？
  24. 在“寻找文件（）”命令中,找文件夹时有时会找出"."来,怎么回事？
  25. 怎样在易程序中运行外部程序？
  26. 怎样才能让易程序调用默认的关联程序来打开txt、wps、chm之类非执行文件呢？
  27. 在易程序中运行了一个Dos程序，怎样才能让那个难看的Dos窗口不出现呢？
  28. 如何才能知道当前屏幕的分辨率是多少？
  29. 怎样取得鼠标相对于屏幕的当前位置？
  30. 请问，“信息框”是如何添加上去的？控件工具箱里没有啊？
  31. 如何向注册表中写入一个dword值0x00000001？
  32. 如何向注册表中写入一个二进制值？
  33. 写注册表项(“HKEY_CURRENT_USER”,“Software\run”,“times”,)为什么会出错？
  34. “写注册项（）”中第一个参数“根目录”分别对应注册表中那个主键？
  35. 在易程序中，要打开新窗口用什么，是打开（）、创建（）还是……？
  36. 我用复制窗口单元复制出来的新单元，其大小为什么与源单元不同？
  37. “处理事件（）”有什么用，怎么用？
  38. 如果不用数据库管理器，能在易程序中用命令方式动态创建一个新数据库吗？
  39. 在易程序中能不能同时打开多个数据库？
  40. 在易程序中打开了多个数据库，如何确定哪个是当前库？
  41. 我用“添加（）”想把两个结构相同的数据库连接在一起，可为什么返回值总是为假？
  42. 窗口中有三个编辑框，如何才能把其中的内容保存为数据库的一个记录呢？
  43. 我用“删除（）”命令删除了一个记录，可用“取记录数（）”发现记录总数并没改变，为什么？
  44. 数据库中：查找（）命令的参数应如何设置？请给个简单的示例。谢谢！
  45. 同时打开多个数据库，用“置当前库（）”命令改变当前库，好象不管用，为什么？
  46. 在我下载的一些E程序中，常见一些*.edt文件，请问它起什么作用，又如何创建？
  47. “判断循环首（取反（尾记录后（））”是什么意思？
  48. 位异或是什么意思，其原理是什么？
  49. 什么是DLL命令？如何插入DLL命令？
  50. 如何在程序中应用DLL命令？
  51. 怎样根据数据库字段1的内容来搜索并取得字段2的内容？

VB或VFP中的Case语句在易语言中如何表示？

可以用多个判断语句表示。
例： 在VFP中，有如下语句：
DO CASE
CASE A=1
B="一"
CASE A=2
B="二"
…
CASE A=10
B="十"
ENDCASE

在易语言中可以用“判断”来完成上述功能：
判断（A=1）
B="一"
判断（A=2）
B="二"
…
判断 （A=10）
B="十"
判断结束

返回

“返回（）”是什么意思？

返回（）：退回到程序开始执行处。
返回（参数）：返回程序执行得到的结果到程序开始调用处。
例：求两个数相除的结果。

子程序：按钮1_被单击

如果（编辑框2.内容=0）
信息框（“除数不能为零！”）
编辑框2.获取焦点（）
返回（）
否则
编辑框3.内容=到文本（除法（文本到数值（编辑框1.内容），文本到数值（编辑框2.内容））
如果结束

子程序 除法 返回值：整数型
参数一，整数型
参数二，整数型

返回（参数一/参数二）

返回

为什么要在“计次循环首”或“容器循环首”的参数中加个容器？我看到VB的同类语句不用加。

在易语言中，这个参数也是可选的，看你需不需要那个值。
 加了以后， 你就可以在循环中引用它。
例：求1到10的积：

子程序：求积
局部容器：结果，整数型
局部容器：容器1，整数型

计次循环首（10，容器1）
结果=结果*容器1
计次循环尾（）

或：

容器循环首（1，10，1，容器1）
结果=结果*容器1
容器循环尾（）

返回

随机数和随机种子数什么意思？

随机种子数可以是数值，也可以是时间或其他任何可以转化成2进制数的东西。
随机数是一个由计算机在随机种子数的基础上用加减乘除和其他的各种运算产生的一个数。
 为了确保每次取出的随机数序列不同，在取随机数前，应该选设置一个不同的随机数种子。

返回

易语言中，怎样求一个数的“n次方”？怎样求一个数的“开n次根式”？

求X的n次方用：求次方 ( X , n )；
 求X的n次方根用：求次方 ( X , 1/n )。

返回

怎么定义变量？

易语言中变量叫容器。
1、定义全局容器（在整个程序中都可以应用，需要跨窗口应用或传递的变量可以用它），可以用“插入 - 新全局容器”菜单。
2、定义程序集容器（在本程序集中应用），直接在每个程序集的第一行回车就行了。
3、定义局部容器（只在当前子程序中应用），在子程序的任何地方按下Ctrl+L键。可以。
添加容器之后，需要为它指定数据类型，点击数据类型框，可以在出现的下拉选项中选择合适的数据类型。如果此项保留为空，易语言默认为“整数型”。

返回

容器如何赋值？赋值以后，如何清空至初始值？

可以用易语言命令：赋值 （被赋值的容器或容器数组，用作赋于的值或资源）；也可以用等于号直接赋值。如：数值容器 = 123，文本容器=“123”。（容器所赋的值必须与容器的数据类型一致，否则将会出错。）
容器赋值以后，同样可以用“赋值（）”命令或等于号恢复初始值。如：数值容器 = 0；文本容器 = “”；字节集容器 = { }（{ }为空字节集）。
注意：窗口控件类容器赋值后，无法初始化。

返回

在用编辑框的内容为容器赋值时，为什么会出错？

下述语句：
a = 编辑框1.内容
b = 编辑框2.内容
c = a * b
编辑框3.内容 = c
怎么会出错呀？

c = a * b这一句错了。
a和b都是文本型，是不能相乘的。
应该是：
c=文本到数值（a）* 文本到数值（b）
编辑框3.内容=到文本（c）。

返回

数组型容器该如何赋值？

定义整型数组abc（2,2）后：
 abc(1,1)=1 ……………… 此语句说是错误的？
abc[1,1]=1 ……………… 也是错误的。请问是为什么？

数组型容器在引用时必须用“[]”指明数组下标，对于多维数组，则必须分别指明数组各维的下标。所以应该用：
 abc[1][1] = 1。

另外，对于单维数组，也可以这样赋值（假设有数值型5维数组abc）：
abc = { 1，2，3，4，5 }。

返回

如何插入常量？常量如何引用？

通过易语言菜单“插入 - 新常量”可以插入新的常量。把易语言左侧的工作夹选择到“程序”夹，双击“常量表”，在右侧窗口中可以查看已定义的常量。在右侧窗口中按下回车键，也可以添加新的常量，把光标定位在某一常量上，按Del键，可以删除该常量。
 常量是系统或程序设定的某一固定值，目的是方便应用。如设置如下常量：

常量名称 | 常量值 | 备注
作者 | “飞扬软件工作室” |

常量的引用方法是在常量名称前面加上一个“#”号，如：#作者。
例：在程序中输入：
编辑框1.内容=#作者
其效果等同于：
编辑框1.内容=“飞扬软件工作室”。

返回

“加入数据库常量”有什么用？

在开始编写数据库应用程序之前，请将程序中所需使用数据库的名称及其内所有字段名设置为常量，因为常量可以使用系统内部的输入法来很快地输入。

字段名称 | 类型 | 最大文本长度
姓名 | 文本型 | 10
工资 | 小数型 |
扣除 | 小数型
实发 | 小数型

如：上面数据库内具有一个名称为“姓名”的字段，如果此字段名已经被设置为了常量，那么在程序中需要引用它时可以简单地输入 #xm ，而如果没有设置为常量，您就必须使用 Windows 系统的输入法来一个字一个字地输入 “姓名” 。

返回

怎样用命令中止当前运行的易程序自身？

一般用“结束（）”命令可以强行中止易程序自身的运行。
 对于单窗口易程序，也可以用“销毁（）”来结束程序。
对于多窗口易程序，销毁所有窗口或者某一主窗口销毁后没有新的窗口被载入，用“销毁（）”的效果与单窗口易程序相同。

返回

"列表框1.加入项目(中文含义 [容器1],)"中的中文含义[容器1] 容器中包含容器是何意思?

我看不懂教程中的第24章和第25章的内容特别是以上语句:
"列表框1.加入项目(中文含义 [容器1],)"中的中文含义[容器1] 容器中包含容器是何意思?
望懂者教一教我。

 "中文含义"是一个数组容器，在调用它的值时必须指明调用该数组的那一维，例如“中文含义[1]”，而“容器1”就是用来指明具体维数的一个数值型容器。

返回

“取命令行（）”是什么意思？应该怎么用？

“取命令行（文本数组）”就是取出在启动易程序时附加在其可执行文件名后面的所有以空格分隔的命令行文本段并赋值给文本数组。
例：如果你双击temp.e这个文件，系统会自动调用e.exe来打开temp.e。这时候实际上运行的是：e.exe temp.e 。其中temp.e就是e.exe运行时的参数。
在执行本命令前，必须先定义一个文本型数组，其数组维数可以设为零。如果为多维数组，执行后将自动转换为单维数组。
例：运行“temp.exe a b c”，在程序中输入以下代码：

子程序：__启动窗口_创建完毕
局部容器：参数 数据类型：文本型 数组：0

取命令行 (参数)
信息框 (取数组成员数 (参数), 0, )…………显示为3
信息框 (参数[1] + "," + 参数[2] + "," + 参数[3], 0, )…………显示为“a,b,c”。

返回

如何取得当前程序所在的文件夹名称？我用“取当前目录（）”为什么有时行有时不行？

用取“运行目录（）”可以取得程序所在文件夹名称。当程序位于磁盘根目录下时，返回的文本以“\”结尾，否则，无“\”结尾。
在初始状态下，用“取当前目录（）”取出的文件夹名与“取运行目录（）”是一样的，但当你在程序中通过通用对话框（例：打开其它文件夹下的一个文件）或其它途径改变了当前目录，用“取当前目录（）”取出的就不是程序的运行目录。

返回

我想在易程序运行时保存一个与程序同名的ini文件，我该如何获得文件名？

用“取执行文件名（）”可以取得当前程序的文件名，然后用相关的文本操作命令，就可以设置同名的ini文件名了。
例：程序名 = 取执行文件名（），那么：
配置文件名＝取文本左边(程序名,倒找文本(程序名,“.”, ,真)－1)＋“.ini”

返回

“读环境变量（）”和“写环境变量（）”中的环境变量名称指什么，如何获得？

环境变量名称是关连于一个操作系统配置的变量名称。
在Windows中，你可以进行MS-DOS方式下，输入SET并回车，列出的内容等号前面的就是环境变量名称。

返回

“倒找文本（原文本，子文本）”返回的值是不是子文本距原文本尾部的字符数？

易语言知识库中说：倒找文本（）用于“指定一文本在另一文本中最后出现的位置”，但以下命令：倒找文本（“123,456,78”，“，”）得到值为什么不是3呢？
寻找文本（）和倒找文本（）的区别仅仅在于寻找开始的位置不同，但它们所返回的值都是子文本距源文本首部的字符数。
倒找文本（）返回的是“一文本在另一文本中最后出现的位置”，所以：
倒找文本（“123,456,78”，“，”）得到值应该是8。

返回

怎样才能用赋值的方法把“homepage”=dword:00000001赋值给一个文本容器？

文本容器 = #左引号+“homepage”+#右引号+“=dword:000000001”。
如果是半角引号，则左右引号都用“#引号”来表示。

返回

如何把日期框1和日期框2的日期相差的天数显示在标签上？

标签1.标题＝到文本(取绝对值(取时间间隔(日期框1.今天,日期框2.今天,#日)))

返回

请问：当我按下按钮1，过一段时间在按按钮2。请问怎样计算出这段时间？

你可以用“取启动时间（）”或“取现行时间（）”分别赋值，然后相减得秒数。
例：
窗口程序集：窗口程序集1

程序集容器：时间1 数据类型：日期时间型
程序集容器：时间2 数据类型：日期时间型
------------------------------
子程序：_按钮1_被单击

时间1 ＝ 取现行时间 ()
------------------------------
子程序：_按钮2_被单击

时间2 ＝ 取现行时间 ()
标签1.标题 ＝ 到文本 (取时间间隔 (时间2, 时间1, #秒))

返回

请问，在E语言中怎样实现用"标签"来动态显示电脑的时间？

用时钟周期。
在窗口中加一时钟1，时钟周期为1000，

子程序：时钟1.周期事件
标签1.标题=时间到文本（取现行时间（））

返回

为什么我用“创建目录（）”命令总是无法创建新的目录？

要创建的新目录的上级目录必须存在。例：

创建目录（“c:\test\temp”），如果目录“c:\test”不存在，新目录temp将无法创建。

应该如下执行：

创建目录（“c:\test”）
创建目录（“c:\test\temp”）

返回

在“寻找文件（）”命令中,找文件夹时有时会找出"."来,怎么回事？

“.”代表本级目录。

返回

怎样在易程序中运行外部程序？

用“运行（）”命令，其中被运行的程序可以附加运行参数。例：

运行（“c:\windows\notepad.exe temp.txt” , ,)

返回

怎样才能让易程序调用默认的关联程序来打开txt、wps、chm之类非执行文件呢？

可以用API函数“ShellExecuteA”来实现，具体用法请查看相关资料。
不过，易语言中有一项不被人注意的功能——用超级链接框可轻松实现这项操作：
在窗口添加“超级链接框1”，在属性中设置其类型为“1.Internet地址”，Internet地址属性中填上你要打开的外部文件，然后在需要时，用“超级链接框1.跳转（）”。
怎么样，简单吧！

返回

在易程序中运行了一个Dos程序，怎样才能让那个难看的Dos窗口不出现呢？

“运行（）”命令的最后一个参数可以设置外部程序的运行方式，设为“1.#隐藏窗口”就可以让外部程序（包括Dos程序）在后台运行而不显示程序窗口。

返回

如何才能知道当前屏幕的分辨率是多少？

用“取屏幕宽度（）”和“取屏幕高度（）”。

返回

怎样取得鼠标相对于屏幕的当前位置？

用“取鼠标水平位置（）”和“取鼠标垂直位置（）”。

返回

请问，“信息框”是如何添加上去的？控件工具箱里没有啊？

信息框不是窗口控年，而是一个系统对话框，具体用法为：
信息框 （提示信息，按钮，［窗口标题］）
请参看易语言知识库中的详细信息。

返回

如何向注册表中写入一个dword值0x00000001？

直接在注册表中写入整数型值1，系统将自动转换为dword值0x00000001。

返回

如何向注册表中写入一个二进制值？

把欲写入值转换为字节集，用“写注册表项（）”或“写注册项（）”写入时，系统将自动转换为二进制值。

返回

写注册表项(“HKEY_CURRENT_USER”,“Software\run”,“times”,)为什么会出错？

写注册表项 (“HKEY_CURRENT_USER”, “Software\run”, “times”, )，最后形成的健值是:"HKEY_CURRENT_USER\Software\HKEY_CURRENT_USER\Software\run"，为什么？

“写注册表项（）”写出的值本来就是在“#现行用户”即“HKEY_CURRENT_USER”下，不能再为它指定一个根目录。而“写注册项（）”才需要并可以指定注册表根目录。
可以用以下两种方法实现：
写注册表项（“Software”，“run”，“time”，“test test!”）或
写注册项（#现行用户，“Software\run\time”，“test test!”）
最后形成的键是：HKEY_CURRENT_USER\Software\run\time，其键值为：test test!

返回

“写注册项（）”中第一个参数“根目录”分别对应注册表中那个主键？

1、#根类……………HKEY_CLASSES_ROOT
2、#现行设置………HKEY_CURRENT_CONFIG
3、#现行用户………HKEY_CURRENT_USER
4、#本地机器………HKEY_LOCAL_MACHINE
5、#所有用户………HKEY_USERS。

返回

在易程序中，要打开新窗口用什么，是打开（）、创建（）还是……？

用“载入 （欲载入的窗口，［父窗口］，是否采用对话框方式）”。

返回

我用复制窗口单元复制出来的新单元，其大小为什么与源单元不同？

你一定是在复制前，改变了源单元的大小。
复制窗口单元的作用是“复制创建与指定窗口单元设计状态完全一致的新单元”，在程序中用命令代码改变窗口单元的初始大小后，再用本命令，复制出来的新单元仍然是原来的大小，而不会是改变后的大小。如：
窗口中有一编辑框，初始大小为50*60，在程序中用：
“编辑框1.移动（，，100，120）”，再用
“复制窗口单元（编辑框1，编辑框容器）”，
复制得到的编辑框，其大小是50*60。

返回

“处理事件（）”有什么用，怎么用？

处理事件（）一般用在一个较长的循环中，用来暂停循环的执行，先响应外部事件。一般用法如下（以容器循环首（）为例）：
容器循环首（1，100，1，容器1）
处理事件（）
……（你的运行代码）
容器循环尾
如果你没有加入处理事件（）命令，而你的循环又比较长的话，你的窗口在循环执行完毕之前会失去响应，例如窗口移动等。

返回

如果不用数据库管理器，能在易程序中用命令方式动态创建一个新数据库吗？

可以用“创建（欲创建数据库的文件名，字段信息表）”命令来动态创建数据库。其中字段信息表是一个数据类型为“字段信息”的数组容器。在创建数据库前，必须先对其赋值。如：

局部容器：字段 数据类型：字段信息 数组：4

字段 [1].名称 ＝ “姓名”
字段 [1].类型 ＝ #文本型
字段 [1].最大文本长度 ＝ 10
字段 [2].名称 ＝ “性别”
字段 [2].类型 ＝ #文本型
字段 [2].最大文本长度 ＝ 2
字段 [3].名称 ＝ “年龄”
字段 [3].类型 ＝ #整数型
字段 [4].名称 ＝ “照片”
字段 [4].类型 ＝ #字节集型
创建 (“c:\个人信息.edb”, 字段)

其中字段信息中的“最大文本长度”仅对文本型字段有效。

返回

在易程序中能不能同时打开多个数据库？

可以，用“打开（）”命令打开数据库时，不会关闭已经打开的数据库。同时有多个数据库打开的情况下，当前数据库默认为最后一个打开的数据库。
如果要在打开新数据库的同时关闭已打开的当前数据库，请用“替换打开（）”。

返回

在易程序中打开了多个数据库，如何确定哪个是当前库？

在同时有多个数据库打开的情况下，当前数据库默认为最后一个打开的数据库。
你可以用“取当前库（）”或“取库文件名（）”来获得当前数据库的名称。
如果要更改当前库，请用“置当前库（）”命令。

返回

我用“添加（）”想把两个结构相同的数据库连接在一起，可为什么返回值总是为假？

用“添加（数据库别名或名称，记录条件］，字段范围］，…）”把两个结构相同的数据库连接在一起，前提是两个数据库必须都已打开。如果用来添加的数据库为打开或者当前库为空，执行该命令就会失败。
另外，其参数一是数据库别名或名称，在引用数据库名称时，不应该加“.edb”，否则，执行命令也将失败。例：

打开（“temp2.edb”）
打开（“temp1.edb”） 注：当前库为temp1.edb。
添加（“temp2" , , ) 注：将temp2.edb添加到当前库temp1.edb中去。

返回

窗口中有三个编辑框，如何才能把其中的内容保存为数据库的一个记录呢？

假设当前库已打开，字段一为文本型，字段二为数值型，字段三为字节集型：

方法一：
加记录（编辑框1.内容，文本到数值（编辑框2.内容），转换为字节集（编辑框3.内容））

方法二：
加空记录（）
修改（编辑框1.内容，文本到数值（编辑框2.内容），转换为字节集（编辑框3.内容））

方法三：
加空记录（）
写（1，编辑框1.内容）
写（2，文本到数值（编辑框2.内容））
写（3，转换为字节集（编辑框3.内容））

方法四（设数据库字段名为A、B、C）：
加空记录（）
替换（ ，“A”，编辑框1.内容，“B”，文本到数值（编辑框2.内容），“C”，转换为字节集（编辑框3.内容）） 注意：使用本命令第一个参数请保持为空，即只替换当前记录。

一般情况下请用前两个方法。

返回

我用“删除（）”命令删除了一个记录，可用“取记录数（）”发现记录总数并没改变，为什么？

“删除（）”并不实际删除记录，仅仅只加上删除标记，记录依旧存在并可以读写。要真正删除记录，必须再使用“彻底删除（）”命令把标记为删除的记录真正删除。

返回

数据库中，查找（）命令的参数应如何设置？请给个简单的示例。谢谢！

到首记录（）
查找（读（1）=“飞扬”）

注意：查找命令默认为从当前记录开始查找，所以要从头查找必须在前面加一句：
到首记录（）
如果要继续往下查找，还必须在后面加上一句：
跳过（1） 。

返回

同时打开多个数据库，用“置当前库（）”命令改变当前库，为什么不管用？

我同时打开了“test1.edb”“test2.edb”两个数据库，但用“置当前库（“test1.edb”）”或“置当前库（“test2.edb”）”却不管用，这是为什么？

“置当前库 （数据库别名或名称）”中参数为数据库的别名或名称，当引用数据库名称时，不能加“.edb”，如本例中，就应使用：

置当前库（“test1”）或
置当前库（“test2”）

返回

在我下载的一些E程序中，常见一些*.edt文件，请问它起什么作用，又如何创建？

易语言数据库中若有备注型或字节集型字段，就会产生.edt文件，它是和.edb文件一起的，千万不能搞丢了哦，否则数据库就打不开了。

返回

“判断循环首（取反（尾记录后（））”是什么意思？

“取反（逻辑值）”就是将参数提供的逻辑值反转，如果参数值为真则返回假，如果参数值为假则返回真。所以：
判断循环首（取反（尾记录后（）））的意思就是：
判断循环首（尾记录后 = 假）。
用于判断当前数据库的当前记录指针是否已在尾记录的后面。

返回

位异或是什么意思，其原理是什么？

位异或（位运算数值一，位运算数值二）就是将参数一与参数二的二进制值进行逐位比较，如果相同，返回0，如果不同返回1。例：
位异或（123，234）
参数一：123 二进制值： 1111011
参数二：234 二进制值：11101010
返回值： 10010001，其十进制值为145。
即：位异或（123，234）= 145。

返回

什么是DLL命令？如何插入DLL命令？

DLL命令是Windows 系统外部动态连接库（即DLL库）中的命令，也称API函数。在调用前，必须首先进行定义，定义DLL命令涉及到以下主要属性：
 Dll命令名、返回值类型、Dll库文件名、Dll命令在Dll库中的对应命令名、Dll命令参数。
 通过菜单“插入 - 新DLL命令”可以插入新DLL命令。把易语言左侧的工作夹选择到“程序”夹，双击“DLL命令”（如果其左侧有+号，请单击+号）也可以添加或查看DLL命令。
 例：定义一个“俘获鼠标”DLL命令：

DLL命令名 | 返回值类型 | 备注
俘获鼠标 | 整数型 |
DLL库文件名
user32.dll
本DLL命令在DLL库中对应的命令名
SetCapture
参数名 | 类型 | 传址 | 数组 | 备注
窗口句柄 | 整数型 |  |  |

其中，DLL命令名只要符合命名规则，可以任意设置，但最好是设置成你容易理解的且便于在程序中应用的名字。如果需要取出执行该DLL命令后的返回值，则必须设置返回值类型。
如果是Windows系统自带的DLL库，其DLL库文件名可以省略。如本例的user32.dll。
在设置Dll命令的参数时，必须保证参数的顺序、数据类型都与实际的Dll外部函数一致。

返回

如何在程序中应用DLL命令？

DLL命令添加完毕后，其用法与一般的命令或函数一样，在你的程序中直接调用就可以了。注意在引用时，必须为DLL命令提供相应的参数。
如上述的DLL“俘获鼠标”，在程序中可以这样调用：
俘获鼠标（编辑框1.取窗口句柄）。

返回

怎样根据数据库字段1的内容来搜索并取得字段2的内容？

用数据库建立密度表（液体的温度和对应的密度）：
t1,ρ1
t2,ρ2
t3,ρ3
t4,ρ4
t5,ρ5
t6,ρ6
……
怎样写程序，根据现在已知的温度t检索到对应的ρ，同时将ρ赋予一个容器，从而进入计算阶段？

到首记录（）
如果(查找（读（1）= t))
ρ = 读（2）
否则
信息框（“未找到该温度下的密度值。”）
返回（）
如果结束

返回
作者：西风
 Email: westwindxp@163.com
修订时间：2002年05月19日。


窗口单元

  1. 用易语言编程，如何来调节程序里文字与数字的大小？
  2. 窗口中添加了背景音乐，可是要怎么样才能删除它啊？
  3. 能把mp3设为窗口的背景音乐吗？
  4. 窗口中有多个编辑框，我想按下回车键，就让光标转移到下一个编辑框中，怎么做？
  5. 如何才能让我的程序窗口始终保持在其它窗口的上方？
  6. 怎样才能让我的程序缩小到任务栏右侧的托盘区中？
  7. 我想在单击窗口右上角的关闭按钮时，弹出一个询问窗口，怎么做？
  8. 程序窗口缩小到托盘区后，怎样才能让它再次显示啊？
  9. 我想编写一个文本处理器，如何才能使之支持多窗口操作？
  10. 我发现窗口创建完毕这个事件下如有执行语句，会在窗口未显示之前先执行这些语句。
  11. 怎样使设计的程序一启动就最小化？
  12. 我在调试易程序时，弹出来的信息框总是躲在程序窗口的后面，为什么？
  13. 什么是句柄？“取窗口句柄（）”是用来取出窗口的句柄的吗？
  14. 怎样做到程序一启动，窗口的编辑框中就显示我指定的内容？
  15. 如何清空编辑框中的内容，我用“编辑框1.清空（）”行不通啊。
  16. 我想让编辑框中只能输入整数或小数，不能输入字母，怎么做？
  17. 如何通过菜单在编辑框中光标位置插入指定的文本，比如我点菜单“名字”，就会在光标处插入“飞扬”？
  18. 怎么计算出编辑框中输入内容的长度呀？
  19. 有两个编辑框，假若编辑框1的最大允许长度为2，在编辑框1输满2个字符时焦点自动移到编辑框2，要如何实现？
  20. 怎样在程序中清空图片框的图片或画板的底图？
  21. 为什么在窗口创建完毕事件子程序中往画板里写内容，但窗口显示后画板中什么也没有？
  22. 我执行了“画板1.清除（）”命令，但画板中却仍显示原来的图片，为什么？
  23. 画板上有10个点，怎样才能将这些点用线连起来？
  24. 怎样才能把画板中的内容保存为图片文件？
  25. 我设定了标签的字体和宽度，使其正好显示“易语言”三个字，但在其它电脑中运行时却发现标签的宽度变小了，不能显示所有内容，为什么？
  26. 能不能在画板上画出透明的图片？
  27. 标签能不能象编辑框那样显示多行文本？
  28. 我怎么找不到按钮的“默认”属性在哪里呀？它有什么用？
  29. 如果窗口中有两个具有“默认”属性的按钮，按下回车键时会如何响应？
  30. 请问各位高手,如何编写单击按钮后,显示出一个窗口?
  31. 怎样才能在鼠标移到按钮上时，按钮出现一个提示信息，如“关闭”？
  32. 我要设计一组运算的程序，选择单选框1时流程走A路线，选择单选框2时流程走B路线。请问如何设计?
  33. 怎样把设置窗口里面的选择状态传递给主窗口，让主窗口来实现对程序状态的控制。
  34. 请问怎样为组合框赋值，比如点击下拉箭头组合框会显示数值1，数值2……？
  35. 如何取得我在组合框中所选项目的文本内容？
  36. 怎样才能根据组合框中选择的项目，动态改变组合框2中的项目内容？
  37. 如何删除组合框中已有的项目？
  38. 组合框中有三个项目：张三、李四、王五，如何根据编辑框中输入的姓名使组合框当前项目自动为相应的名字？
  39. 组合框中有三个项目：张三、李四、王五，如何根据组合框中选择的项目在编辑框显示相应的名字？
  40. 怎样把数据库中某个文本型字段的记录内容全部加到一个列表框中去？
  41. 选择列表中选择了某些项目，单击按钮如何实现选择列表框中的项目全部反选。
  42. 如何控制进度条中进度的显示？
  43. 如何设置，使进度条的中间有一个百分比的显示？
  44. 我把选择夹的“隐藏自身”属性设为真后，怎样在各个子夹中切换呀？
  45. 怎样取得日期框或月历框中选择的当前日期？
  46. 我在窗口添加的驱动器框、目录框和文件框，但它们好象是互不关联的，怎样才能使三者显示的目录或文件同步改变呀？
  47. 我在文件框中选择了多个文件，可怎样才能得到我选择的文件名呀？
  48. 在我的程序菜单中有一项：联系作者。怎样才能自动打开邮件收发软件发信呢？
  49. 通用对话框的过滤器和初始过滤器怎么用？
  50. 怎样判断我是否在通用对话框中输入了文件名并按了“确定”钮？
  51. 我想在通用对话框一打开时，就显示我所要的默认的文件名，怎么做？
  52. 怎样启动和禁止时钟？用“时钟.禁止 = 真”行不通啊。
  53. 我用“打印机1.定位写出（“易语言”）”为什么没有任何反应？
  54. 打印机的属性中，“左边空”“顶边空”等的单位是什么？
  55. 在窗口上拖放上一个表格控件，白色背景下只显示“未连接数据源”几个字，我要让它与.edb链接，该如何设置？
  56. 怎样在程序中动态改变表格的列宽使它正好显示字段内容呢？
  57. 怎样在表格的某一格中输入特定的文本？
  58. 按数据源的添加删除按钮时，程序没有任何提示就会执行相应动作。怎样才能让程序先提示再执行呢？
  59. 我打印出来的表格为什么没有表格线？
  60. 能不能不显示ODBC数据源选择对话框，而在程序中直接连接外部数据库呢？
  61. 如何通过颜色选择器来改变标签的文本颜色？
  62. 在一个窗口中建了多个输入框和按钮，如何在一个循环程序中，一次把所有输入框和按钮的显示属性修改为假。

用易语言编程，如何来调节程序里文字与数字的大小？

在易语言的窗口和窗口控件中，一般都有一项“字体”属性，在这里就 可以设置你要显示的文字与数字的大小。

返回

窗口中添加了背景音乐，可是要怎么样才能删除它啊？

在易语言左侧工作夹中，选中窗口的“背景音乐”属性，直接按Del键就行了。

返回

能把mp3设为窗口的背景音乐吗？

窗口的背景音乐只支持wav或mid音乐，如果要把mp3设置成窗口的背景音乐，可以在“__启动窗口_创建完毕”子程序中加入如下代码：

 播放mp3（-1，mp3音乐文件1，mp3音乐文件2，……）

返回

窗口中有多个编辑框，我想按下回车键，就让光标转移到下一个编辑框中，怎么做？

直接把窗口的“回车下移焦点”属性设为真就可以了。
 也可以对每个编辑框都添加“按下某键”或“字符输入”子程序，如：
子程序：_编辑框1_按下某键
返回值类型：逻辑型

参数：键代码 数据类型：整数型
参数：功能键状态 数据类型：整数型

如果真 (键代码 ＝ #回车键)
编辑框2.获取焦点 ()
如果真结束

注意：窗口的“回车下移焦点”属性设置为真后，按钮的“默认”属性将不再起作用。

返回

如何才能让我的程序窗口始终保持在其它窗口的上方？

窗口有一项属性“总在最前”，把它设置为真就行了。

返回

怎样才能让我的程序缩小到任务栏右侧的托盘区中？

置托盘图标 （［图标数据］，［提示信息］）
一般请把图标文件导入为易程序的图片资源，然后在本命令中调用。
如，把图标导入到图片资源，取名为“图标1”。然后当窗口的最小化按钮被单击时，程序缩小到托盘区中：

子程序：__启动窗口_尺寸被改变

如果真 (_启动窗口.位置 ＝ 2) *备注：判断是否被最小化。
_启动窗口.可视 ＝ 假
_启动窗口.置托盘图标 (#图标1, “我的程序”)
如果真结束

返回

我想在单击窗口右上角的关闭按钮时，弹出一个询问窗口，怎么做？

 子程序：__启动窗口_可否被关闭
 返回值类型：逻辑型

 如果(信息框(“真的要关闭我吗？”,#询问图标＋#是否钮,“关闭”)＝#是钮)
 返回 (真)
 否则
 返回 (假)
 如果结束

返回

程序窗口缩小到托盘区后，怎样才能让它再次显示啊？

把你的窗口缩小到系统托盘区时，必须设置好托盘图标的响应事件，也即窗口的托盘事件（选中当前窗口，在左侧的工作夹中事件处理子程序组合框中选择“托盘事件”），其中参数“操作类型”可以为：1、#左键单击；2、#左键双击；3、#右键单击。例：

子程序：__启动窗口_托盘事件

参数：操作类型 数据类型：整数型

如果真 (操作类型 ＝ 1)
_启动窗口.可视 ＝ 真
_启动窗口.位置 ＝ 0 *备注：通常位置
如果真结束

返回

我想编写一个文本处理器，如何才能使之支持多窗口操作？

目前可以用“载入（窗口名称，_启动窗口，假）”的方法来载入多个窗口，用这种方法载入的窗口，可以互相切换，并且一旦关闭“_启动窗口”，所有的子窗口都将被关闭。
在被载入的窗口“创建完毕”事件子程序中，最好设置好该窗口的位置。

返回

我发现窗口创建完毕这个事件下如有执行语句，会在窗口未显示之前先执行这些语句？

可以在窗口创建完毕事件子程序中，在最前面加入代码：“窗口.可视 = 真”。
这样，在窗口创建完毕后，将首先显示窗口，然后再执行后续代码。

返回

怎样使设计的程序一启动就最小化？

子程序：__启动窗口_创建完毕
_启动窗口.位置 ＝ 2

 如果要使设计的程序不在任务条中显示，只显示系统托盘，则可以这样写：

子程序：__启动窗口_创建完毕
_启动窗口.可视 ＝ 假
_启动窗口.置托盘图标 (图标数据，提示信息)

返回

我在调试易程序时，弹出来的信息框总是躲在程序窗口的后面，为什么？

这是因为你把窗口的“总在最前”属性设置为真的缘故，在需要弹出信息框的时候，你可以这样写代码：

窗口1.总在最前 = 假
信息框（………）
窗口1.总在最前 = 真

返回

什么是句柄？“取窗口句柄（）”是用来取出窗口的句柄的吗？

句柄并没有什么神奇之处，不管哪种句柄，实际都是一个整数。它标识一种资源，如窗口、位图等等。就象你找一个人，必须知道它的地址一样，如果你要操作一种资源，必须先获得句柄。
“取窗口句柄（）”并不是只能取出窗口的句柄，所有窗口控件，如编辑框、标签等都可以用本命令取出自己的句柄，如：

 编辑框1.取窗口句柄（）
 标签1.取窗口句柄（）

返回

怎样做到程序一启动，窗口的编辑框中就显示我指定的内容？

你可以在程序编辑时，就在编辑框的“内容”属性中设置好，也可以在窗口创建完毕事件子程序中用赋值的方法设置，例：

子程序：__启动窗口_创建完毕

编辑框1.内容 ＝ “易语言”

返回

如何清空编辑框中的内容，我用“编辑框1.清空（）”行不通啊。

编辑框1.内容=“”

返回

我想让编辑框中只能输入整数或小数，不能输入字母，怎么做？

编辑框有一项属性叫：“输入方式”，你可以在其中设置，使其只能输入数字。

返回

如何通过菜单在编辑框中光标位置插入指定的文本，比如我点菜单“名字”，就会在光标处插入“飞扬”？

这需要用到编辑框的一个属性：“起始选择位置”，也即当前光标所在位置。

子程序：名字_被选择
编辑框1.内容=取文本左边（编辑框1.内容，编辑框1.起始选择位置）+“飞扬”+取文本右边（编辑框1.内容，取文本长度（编辑框1.内容）-编辑框1.起始选择位置）

 如果当前编辑框中没有内容，则可以直接用：编辑框1.内容 =“飞扬”来实现。

返回

怎么计算出编辑框中输入内容的长度呀？

可以用：取文本长度（编辑框1.内容）

返回

有两个编辑框，假若编辑框1的最大允许长度为2，在编辑框1输满2个字符时焦点自动移到编辑框2，要如何实现？

子程序：_编辑框1_内容被改变

如果真 (取文本长度 (编辑框1.内容) ＝ 2)
编辑框2.获取焦点 ()
 如果真结束

返回

怎样在程序中清空图片框的图片或画板的底图？

“图片框.图片”或“画板.底图”都是字节集型数据，所以，用一个空字节集赋值，就可以实现清空图片的目的。如：
 图片框1.图片 = { }
画板1.底图 = { }

返回

为什么在窗口创建完毕事件子程序中往画板里写内容，但窗口显示后画板中什么也没有？

因为在窗口创建完毕事件处理子程序中，窗口及所有窗口单元都处于不可视状态，此时如果画板的“自动重画”为假，你在画板上写出的内容都不能被保存。
如果要在窗口创建完毕事件处理子程序中执行画板的写画操作，请把画板的“自动重画”属性设为真。

返回

我执行了“画板1.清除（）”命令，但画板中却仍显示原来的图片，为什么？

画板的“清除”命令只能清除在画板上写或画出的内容，不能清除画板初始设置好的底图。
如果要清除画板的底图，请用：
画板1.底图 = { }

返回

画板上有10个点，怎样才能将这些点用线连起来？

取出这十个点人位置，设这十个点分别为x1,y1;x2,y2;....;x10,y10，再用如下代码：

画板1.画直线 (x1,y1,x2,y2)
画板1.画直线 (x2,y2,x3,y3)
………
画板1.画直线 (x9,y9,x10,y10)

返回

怎样才能把画板中的内容保存为图片文件？

用“写到文件（文件名，画板1.取图片（））”。
如果要改变图片的大小，则可以用：
写到文件（文件名，快照（画板1.取窗口句柄（），图片宽，图片高））

返回

我设定了标签的字体和宽度，使其正好显示“易语言”三个字，但在其它电脑中运行时却发现标签的宽度变小了，不能显示所有内容，为什么？

在不同的系统中，相同字体其默认的宽度和高度会有少些误差，你可以用“画板.取高度（）”或“画板.取宽度（）”命令， 取出设定字体的具体大小，从而动态改变标签的宽度及高度，使期能显示所有标题内容。
具体方法如下：在窗口中添加一标签，设定好字体及标题（如“易语言”），然后再添加一画板，设置其可视属性为假，其字体与标签的字体一样。然后在窗口创建完毕事件处理子程序中输入如下代码：

标签1.宽度 = 画板1.取宽度（标签1.标题）

返回

能不能在画板上画出透明的图片？

可以，把画板的“复制”命令中的参数“复制方法”或“画图片”命令中的参数“图片画出方法”设为“#位异或”，可以把图片中的白色部分作为透明色。例：

画板1.画图片（载入图片（＃图片资源1），0，0，，，#位异或）

返回

标签能不能象编辑框那样显示多行文本？

可以，在易语言中文本的换行用“#换行符”来实现，例：
标签1.标题 = “全中文全可视易语言”+#换行符+“飞扬软件工作室出品”
显示的效果就是：

全中文全可视易语言
飞扬软件工作室出品

返回

我怎么找不到按钮的“默认”属性在哪里呀？它有什么用？

在按钮的“类型”属性中。
被设置为“默认”属性的按钮，在窗口的任何地方按下回车键，都相当于该按钮被单击。

返回

如果窗口中有两个具有“默认”属性的按钮，按下回车键时会如何响应？

同一窗口中只能有一个具有默认“属性”的按钮，当有两个以上按钮具有“默认”属性时，只有“停留顺序”属性最小的那个按钮会响应回车事件，当几个按钮的“停留顺序”属性相同时（如，都为0），则最先创建的那个按钮会响应回车事件，其余按钮的“默认”属性将被忽略。

返回

请问各位高手,如何编写单击按钮后,显示出一个窗口?

打开一个新窗口，在易语言中用“载入”，如：

子程序：_按钮1_被单击

载入 (窗口1, , 真)

返回

怎样才能在鼠标移到按钮上时，按钮出现一个提示信息，如“关闭”？

目前可通过如下方法：
在按钮的鼠标被移动的事件里，让一个标签.可视＝真，而这个标签上就写的是提示内容，
当然，如果你的鼠标一旦移出了按钮的范围，这个标签的可视就必须为假了。
这样就可以实现按钮上的提示信息。

返回

我要设计一组运算的程序，选择单选框1时流程走A路线，选择单选框2时流程走B路线。请问如何设计?

子程序：_按钮1.被单击

判断(单选框1.选中)
A
……
判断(单选框2.选中)
B
……

返回

怎样把设置窗口里面的选择状态传递给主窗口，让主窗口来实现对程序状态的控制？

在易语言中，不同窗口中的控件，可以在前面加上其所属窗口，从而加以区别，如：
子程序：_按钮1_被单击

如果 (窗口1.选择框1.选中 ＝ 真)
…………
否则
…………
如果结束

返回

请问怎样为组合框赋值，比如点击下拉箭头组合框会显示数值1，数值2…？

组合框有一项“列表项目”属性，点击它就可以设置组合框的项目内容了。
如果要在程序中动态设置，可以用“组合框.加入项目（）”来实现，如：
组合框1.加入项目（“飞扬”，）

返回

如何取得我在组合框中所选项目的文本内容？

组合框1.取项目文本（组合框1.现行选中项）。

返回

怎样才能根据组合框1中选择的项目，动态改变组合框2中的项目内容？

例，我在组合框1中选择部门一，组合框2中的内容变成部门一的人员：王一，王二，王三。我在组合框1中选择部门二，组合框2中的内容变成部门二的人员：李一，李二，李三。

子程序：_组合框1_列表项被选择

判断 (组合框1.取项目文本 (组合框1.现行选中项) ＝ “部门一”)
组合框2.清空 ()
组合框2.加入项目 (“王一”, )
组合框2.加入项目 (“王二”, )
组合框2.加入项目 (“王三”, )
判断 (组合框1.取项目文本 (组合框1.现行选中项) ＝ “部门一”)
组合框2.清空 ()
组合框2.加入项目 (“李一”, )
组合框2.加入项目 (“李二”, )
组合框2.加入项目 (“李三”, )
默认
判断结束

返回

如何删除组合框中已有的项目？

如果要删除单个项目，可以用：组合框.删除项目（项目索引）

如果要删除一个组合框中的所有项目，则应用：组合框.清空（）

返回

组合框中有三个项目：张三、李四、王五，如何根据编辑框中输入的姓名使组合框当前项目自动为相应的名字？

子程序：_按钮1.被单击

组合框1.选择（编辑框1.内容）

返回

组合框中有三个项目：张三、李四、王五，如何根据组合框中选择的项目在编辑框显示相应的名字？

子程序：_组合框1_列表项被选择

编辑框1.内容=组合框1.取项目文本（组合框1.现行选中项）

返回

怎样把数据库中某个文本型字段的记录内容全部加到一个列表框中去？

到首记录（）
判断循环首（尾记录后（）= 假）
列表框1.加入项目（读（1），）
跳过（1）
判断循环尾（）

返回

选择列表中选择了某些项目，单击按钮如何实现选择列表框中的项目全部反选。

用“计次循环”或“容器循环”，如：

计次循环首（选择列表框1.取项目数（），容器1）
选择列表框1.选中项目（容器1-1，取反（选择列表框1.是否被选中（容器1-1））
计次循环尾（）

返回

如何控制进度条中进度的显示？

利用进度条的“位置”属性可以动态改变进度条中进度的显示。例如：用进度条来显示秒数。可以在窗口中添加一时钟，设置时钟周期为1000毫秒，即1秒。

子程序：__启动窗口_创建完毕

进度条1.最大位置=60
进度条1.位置=取时间部分（取现行时间（），#秒）
时钟1.时钟周期=1000

子程序：_时钟1_周期事件

进度条1.位置=取时间部分（取现行时间（），#秒）

返回

如何设置，使进度条的中间有一个百分比的显示？

可以用进度条 + 标签来实现。
在进度条中间加个标签，在进度条进度改变的同时改变标签的标题为相应百分比，注意要把标签置于进度条的上层。

返回

我把选择夹的“隐藏自身”属性设为真后，怎样在各个子夹中切换呀？

利用选择夹的“现行子夹”属性。例：

子程序：_按钮1_被单击

选择夹1.现行子夹 = 1

返回

怎样取得日期框或月历框中选择的当前日期？

日期框中的日期用“日期框.今天”可以取出。
月历中的日期则需要这样做：把月历的“允许选择多天”属性设为真，然后取出“月历.首选择日”。

返回

我在窗口添加的驱动器框、目录框和文件框，但它们好象是互不关联的，怎样才能使三者显示的目录或文件同步改变呀？

需要通过如下子程序把三者关联起来：

子程序：_驱动器框1_驱动器被改变

目录框1.目录 ＝ 驱动器框1.驱动器 ＋ “:”
文件框1.目录 ＝ 目录框1.目录

------------------------------

子程序：_目录框1_目录被改变

文件框1.目录 ＝ 目录框1.目录

返回

我在文件框中选择了多个文件，可怎样才能得到我选择的文件名呀？

当文件框中选择了多个文件时，各个文件名之间将用“;”隔开，所以可以用分隔文本命令来取出所有文件名，并赋值给一个文本数组。在分隔之前，首先要确定所选择的文件数，以确定数据的成员数。例：

子程序：_按钮1_被单击

局部容器：文件 数据类型：文本型 数组：0
局部容器：文件数 数据类型：整数型
局部容器：找到位置 数据类型：整数型

文件数 ＝ 1
找到位置 ＝ 寻找文本 (文件框1.被选择文件, “;”, , 真)
判断循环首 (找到位置 ≠ -1)
文件数 ＝ 文件数 ＋ 1
找到位置 ＝ 寻找文本 (文件框1.被选择文件, “;”, 找到位置 ＋ 1, 真)
判断循环尾 ()
重定义数组 (文件, 假, 文件数)
文件 ＝ 分割文本 (文件框1.被选择文件, “;”, )

返回

在我的程序菜单中有一项“联系作者”，怎样才能自动打开邮件收发软件发信呢？

在窗口中添加一超级链接框，其“可视”属性为假，设置其“类型”为“电子信箱地址”，在“电子信箱地址”属性中输入正确的Email地址，然后，输入如下子程序：

子程序：_联系作者_被选择

超级链接框1.跳转（）

返回

通用对话框的过滤器和初始过滤器怎么用？

通用对话框的过滤器是一个文本，由单个或多个成对的文本串组成，每对文本串的第一个描述显示形式，如：“文本文件（*.txt）”；第二个指定实际的过滤匹配符，如：“*.txt”，所有各文本串之间用“|”号隔开。
如下述过滤器：
所有音乐文件(*.mid;*.wav;*.mp3)|*.mid;*.wav;*.mp3|mid 音乐(*.mid)|*.mid|wav 音乐(*.wav)|*.wav|mp3 音乐(*.mp3)|*.mp3。
其中红色文本为要显示的内容，蓝色文本为实际的过滤器。在通用对话框中显示的是四个可选项：
所有音乐文件(*.mid;*.wav;*.mp3)
 mid音乐(*.mid)
 wav音乐(*.wav)
 mp3音乐(*.mp3)
 初始过滤器则用来指定通用对话框刚打开时要显示的文件类型，其序号从0开始。如上例中，如果设定通用对话框的初始过滤器为1，则打开通用对话框，其初始显示的项目为第二项：
 mid音乐(*.mid)

返回

怎样判断我是否在通用对话框中输入了文件名并按了“确定”钮？

如果通用对话框中输入了合法的文件名，并按了”确定“钮，将返回真，否则将返回假。在易程序中可以用如下判断语句：
如果真（通用对话框1.打开（）= 真） 或
如果真（通用对话框1.打开（）） 这二者效果一样。

返回

我想在通用对话框一打开时，就显示我所要的默认的文件名，怎么做？

可以在通用对话框打开之前，先为通用对话框的”文件名“属性赋值，如：

通用对话框1.文件名=取运行目录（）+“\test.txt”
如果真（通用对话框1.打开（））
…………
如果真结束。

这样，在通用对话框打开时，将自动显示你所设置的文件名。

返回

怎样启动和禁止时钟？用“时钟.禁止 = 真”行不通啊。

时钟控件没有禁止属性，要启动或禁止时钟，可以对其“时钟周期”属性赋值。
 如：
时钟1.时钟周期 = 1000（或其它任何数值，单位为毫秒）表示启动时钟。
 时钟1.时钟周期 = 0表示停止时钟。

时钟周期内要执行的代码，都在时钟.周期事件（）子程序中。只要时钟的时钟周期不为0，它就将自动执行，而不需要以程序中以“时钟1.周期事件（）”的形式来启动。

返回

我用“打印机1.定位写出（“易语言”）”为什么没有任何反应？

在打印机的打印操作开始之前，必须先用“打印机.开始打印（）”使打印机进入打印作业，然后才能执行诸如“打印机.定位写出（）”这样的动作。
在打印机打印完毕后，还需要用“打印机.结束打印（）”来关闭打印机。如：

打印机1.开始打印（假，假）
打印机1.字体.字体大小 = 16
打印机1.定位写出（20，20，“全中文全可视易语言”）
打印机1.定位写出（20，60，“飞扬出品”）
打印机1.结束打印（）

返回

打印机的属性中，“左边空”“顶边空”等的单位是什么？

打印机的“左边空”“顶边空”等，其单位就是打印机当前的绘画单位，你可以在打印机的“绘画单位”属性中设置，也可以用代码：打印机1.绘画单位 = 1”这样的形式来设置。

返回

在窗口上拖放上一个表格控件，白色背景下只显示“未连接数据源”几个字，我要让它与.edb链接，该如何设置？

在它的“数据源”属性框只是一个下拉菜单选项啊，不是应该是目录框，点击从这儿找到相应数据库文件吗？难道仅仅在这儿填写上我的.edb文件名就能与表格连接吗？

表格控件需要与数据源控件相关联，而与数据源控件关联的又是数据库提供者，在数据库提供者控件中才可以设置你所要的.edb数据库。例：
在窗口中添加一个“数据源1”，一个“数据库提供者1”，在“数据库提供者1”的“数据库文件名”属性中设定关联的数据库，在“数据源1”的“数据提供者”属性中选择“数据库提供者1”，最后在“表格”的“数据源”属性中选择“数据源1”。

返回

怎样在程序中动态改变表格的列宽使它正好显示字段内容呢？

需要在与“表格”相关联的“数据源”控件中设置。例，表格1的数据源为“数据源1”，则可以通过下列语句来实现：

数据源1.置列宽（3，1，500） 将表格1的第三列设置宽度为50毫米。

返回

怎样在表格的某一格中输入特定的文本？

同样可以在与“表格”相关联的“数据源”控件中设置。例：

 数据源1.置文本（3，4，“易语言”）
在表格第三行第四列单元格中输入文本“易语言”。

返回

按数据源的添加删除按钮时，程序没有任何提示就会执行相应动作。怎样才能让程序选提示再执行呢？

如果要这样做，就不能直接用数据源了。
 你可以这样做：
 1、建立对应数据源组件的所有按钮。
 2、在按钮被单击事件中，调用数据源组件的对应方法（其实当数据源组件的按钮被单击后也是简单地调用这些方法）。

返回

我打印出来的表格为什么没有表格线？

你只要把数据源的打印设置信息中的“自动添加表格线”属性设为真，在打印表格时，就会自动为表格单元框添加上边框线。简单地，可以这样实现：

数据源1.打印设置（）

在弹出的对话框中设置。或者：

设置.自动添加表格线 = 真（“设置”为一容器，其数据类型为“打印设置信息”。）
数据源1.置打印设置（设置）

返回

能不能不显示ODBC数据源选择对话框，而在程序中直接连接外部数据库呢？

要连接已经有数据库，注意不是第一次连接，以后就会自己打开的那种，而是在程序中已经进行关联了，而且会随程序和数据库的位置改变而改变。方法是：

外部数据库.打开（［ODBC数据源连接文本］，［是否只读］）

这样就可以成功的打开数据库了，数据库联接文本指的是什么呢？就是和数据库联接时要操作的数据库参数，那么要如何知道联接文本呢？应该是什么呢？下面就是联接本文的内容：

ODBC;DBQ=d:\Downloads\e21\MSAccess.mdb;DefaultDir=d:\Downloads\e21;Driver=
{Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access;FILEDSN=C:\Program Files\Common Files\ODBC\DataSources\a.dsn;MaxBufferSize=2048;MaxScanRows=8;
PageTimeout=5;SafeTransactions=0;Threads=3;UID=admin;UserCommitSync=Yes;

结合命令起来就是：

外部数据库.打开（"ODBC;DBQ=d:\Downloads\e21\MSAccess.mdb;DefaultDir=
d:\Downloads\e21;Driver={Microsoft Access Driver (*.mdb)};DriverId=25;
FIL=MS Access;FILEDSN=C:\Program Files\CommonFiles\ODBC\DataSources\a.dsn;
MaxBufferSize=2048;MaxScanRows=8;PageTimeout=5;SafeTransactions=0;
Threads=3;UID=admin;UserCommitSync=Yes; "，）

现在具体说明一下，这里头的参数：

ODBC;DBQ=d:\Downloads\e21\MSAccess.mdb； （指数据库所在位置）
DefaultDir=d:\Downloads\e21； （指数据库所在目录）
Driver={Microsoft Access Driver (*.mdb)}；（指数据库何种类型）
FILEDSN=C:\Program Files\Common Files\ODBC\Data Sources\a.dsn （DSN文件位置）
UID=admin （数据库可访问的用户名，如果你没有设置用户安全设置，就不起作用）
PASS=admin （你设置访问密码后，UID就会生效，注意要先用ACESS里设置密码，这个功能可自行使用）
其它参数可以不用去管他，当然是有它们的意义，以后再说啦，参数并不单只有这些还很多。

当然大家还要问，上面的文件路径就只能死死的定义吗？如果我的文件位置改变了，不就不能使用了吗？其实你只要把上面的路径改成活动的就行了，如用取当前目录命令，当然前提是所有程序及数据库都在同一目录下，还有的是DSN和MDB文件都应该是事先已经建立好的。大家可以使用易语言附的文件格式转换程序来建立，建立后那个转换的窗口就不要管他啦，当然你也可以用LIIGO的全面操作Access数据库这个程序来建立，建立完其它的就不管他，就只管取出刚建立的那两个文件来利用就行了。

返回

如何通过颜色选择器来改变标签的文本颜色？

子程序：_颜色选择器1_颜色被改变

标签1.文本颜色 ＝ 颜色选择器1.颜色

返回

在一个窗口中建了多个输入框和按钮，如何在一个循环程序中，一次把所有输入框和按钮的显示属性修改为假？

比如按钮1.可视=假 输入框1.可视=假 按钮2.可视=假 输入框2.可视=假.........按钮8.可视=假 输入框8.可视=假 这样,有什么好方法可以做到吗,不要告诉我一个一个的去修改哟！我用一个变量i，如：按钮i.可视=假，可是不行。

 用“连续赋值（假，按钮1.可视，按钮2.可视………）”

或建立一个按钮数组，再用容器循环。
按钮数组[1]=按钮1
按钮数组[2]=按钮2
按钮数组[3]=按钮3
……
容器循环首（1，取数组成员数(按钮数组)，1，容器1）
按钮数组[容器1].可视=假
容器循环尾

如果是在程序编辑中，则可以按住SHIFT键点取多个控件，然后修改控件的属性。

返回
作者：西风
 Email: westwindxp@163.com
修订时间：2002年05月19日。