文档详情

第六讲 文本框、列表框

小**
实名认证
店铺
PDF
530.50KB
约12页
文档ID:91550573
第六讲 文本框、列表框_第1页
1/12

81 第六讲 文本框、列表框、树控件和表格控件 6.1 文本框文本框 用来输入、显示一行或多行文本信息,包括:String、Text Message 和 Text Box 控件如图 6.1 所示 图 6.1 String、Text Message 和 Text Box 控件 String控件控件:用来输入和显示字符串 TextMessage控件控件:是Indicator型控件,用来显示字符串文本,不能进行输入操作; Text Box控件控件 :用来显示和输入多行文本信息,具有自动换行的功能,当文本超出显示区域 时,能自动添加滚动条功能 它可以作为接收用户输入的接口, 程序运行时用户可以方便地在文本框中输入字符、 编 辑修改字符 当TextBox控件属性设置为非指示模式非指示模式时, 用户可以通过鼠标或键盘输入文本, 如按下 Ctrl+ Tab 键, 即可在该光标位置插入四个空格, 按下 Ctrl+Enter 键, 从新一行开始等 ((1)文本框重要属性)文本框重要属性 文本框属性界面如图 6.2 所示 图 6.2 文本框属性界面 控件的属性可以在控件编辑对话框中设置, 同样也可以通过编程方式设置和修改, 此外 属性值可以通过 CVI 的帮助来查询。

在 Help→Contents,打开帮助文件后,在“索引”选项 框内输入“text”,选择“attributes”工具条,即可察看文本的属性见图 6.3 82 图 6.3 利用 Help 查控件属性设置的方法 这里给出TextBox主要属性如表6.1所示, 以后希望同学们会利用帮助文件查属性设置 表 6.1 文本框属性表 控件属性 说明 ATTR_SCROLL _BARS 设置是否在控件中显示水平和垂直滚动条 ATTR_CTRL_VAL 文本控件当前的内容 ATTR_TEXT_COLOR 文本的颜色 ATTR_ENTER_IS_NEWLINE 按下 Enter 键是否会插入新的一行 ATTR_DATASOCKET_ENABLED 调用 DSBindCtrl 函数后,是否允许控件从 DataSocket 服 务 ATTR_DATASOCKET_MODE 控件绑定模式 VAL_DS_READ 指读操作, VAL_ DS_WRITE 指写操作 ATTR_DATASOCKET_SOURCE 控件绑定的 URL 地址 ATTR_TEXT_SELECTION_START 所选定文本的起始位置 ATTR_TEXT_SELECTION_LENGTH 所选定文本的长度 ATTR_STRING_TEXT_LENGTH 文本的总长度 ATTR_NO_EDIT_TEXT 是否可以编辑文本 ATTR_MAX_ENTRY_LENGTH 可输入的最大字符串的长度 ((2)文本框重要)文本框重要函数函数 文本框控件经常使用的函数有:插入行、删除行、替换行、获得行数、获得字节数等, 如表 6.2 所示。

表 6.2 文本框的控件函数 函数原型 函数功能 1、InsertTextBoxLine 向文本框中插入一行 2、ReplaceTextBoxLine 替换文本框中的一行文本 3、DeleteTextBoxLine 删除文本框中的一行文本 4、DeleteTextBoxLines 删除文本框中的多行文本 5、GetNumTextBoxLines 获得文本框文本的行数 6、ResetTextBox 替换文本框中的全部文本 7、GetTextBoxLine 获得文本框中的一行文本 8、GetTextBoxLineLength 获得文本框指定行的字节数 83 9、GetTextBoxLineOffset 获得指定文本行的头字符的偏移量 10、GetTextBoxLineIndexFromOffset 获得指定偏移量的字符所在的行索引 函数解释:函数解释: • InsertTextBoxLine 函数函数 InsertTextBoxLine 函数的功能是向文本框中插入字符串 函数原形为函数原形为:: int status = InsertTextBoxLine (int panelHandle,int control ID,int linelndex,char text []); 参数参数:: panelHandle 为面板句柄; control ID 为控件名称; linelndex 为文本行行号,在其上一行插入新的文本行,从 0 开始,如果设置为-1,则放 置在文本末尾; text []为要插入的文本内容。

函数程序举例:函数程序举例: InsertTextBoxLine (mainpanel,MAINPANEL_TEXTBOX,- 1, “ 结束 ’, ) ; 调用该函数后,在文本框的最后一行插入“结束” • ReplaceTextBoxLine 函数函数 ReplaceTextBoxLine 函数的功能是替换文本框中的某一行文本 函数原形为函数原形为:: int status = ReplaceTextBoxLine (int panelHandle,int control ID,int linelndex,char text[]); 参数参数:: panelHandle 为面板句柄; control ID 为控件名称; linelndex 为文本行行号,从 0 开 始;text 为替换后的新内容 函数程序举例函数程序举例: ReplaceTextBoxLine ( mainpanel,MAINPANEL_TEXTBOX,0, “ 保存文件”); 调用该函数后,替换文本第一行的内容为“保存文件” • DeleteTextBoxLine 函数函数 DeleteTextBoxLine 函数的功能为删除文本框的某一行文本。

函数原形为函数原形为:: int status = DeleteTextBoxLine (int panelHandle,int control ID,int linelndex ); 参数参数 panelHandle 为面板句柄; control ID 为控件名称; linelndex 为要删除的文本的行号,从 0 开始 函数程序举例:函数程序举例: DeleteTextBoxLine ( mainpanel, MAINPANEL_TEXTBOX, 0 ); 调用该函数后,删除第一行文本 • DeleteTextBoxLines 函数函数 DeleteTextBoxLine 函数的功能为删除文本框中的多行文本 函数原形为函数原形为:: int status = DeleteTextBoxLines ( int panelHandle, int control ID, int linelndex, int number_of Lines); 参数参数:: 84 panelHandle 为面板句柄; control ID 为控件名称; linelndex 为要删除的文本的行 号,从 0 开始; number_ofLines 为删除文本的行数, 如果设置为-1 ,则删除从 linelndex 开 始到文本结束 的所有文本。

函数程序举例:函数程序举例:. DeleteTextBoxLine ( mainpanel, MAINPANEL_TEXTBOX ,0, -1); 调用该函数后,删除文本框中的所有文本 • GetNumTextBoxLines 函数函数 GetNumTextBoxLines 函数的功能是获得文本框中文本的行数 函数原形为函数原形为:: int status = GetNumTextBoxLines (int panelHandle, int control ID, int * count); 参数参数:: panelHandle 为面板句柄; control ID 为控件名称; count 为输出值,表示文本框中文本的行数 D 函数程序举例:函数程序举例: int iCount GetNumTextBoxLines (mainpanel, MAINPANEL_TEXTBOX, 调用该函数后,获得文本框中文本的行数,送入 iCount 变量中 • GetTextBoxLine 函数函数 GetTextBoxLine 函数的功能是从文本框中获得文本的内容 函数原形为函数原形为:: int status = GetTextBoxLine (int panelHandle, int control ID, int linelndex, char destinationBuf fer[]); 参数参数:: panelHandle 为面板句柄; control ID 为控件名称; linelndex 为要获得的文本的行号,从 0 开始; destinationBuffer 为输出值,输出要获得的文本字符变量。

函数程序举例:函数程序举例: char Value [ 100]; GetTextBoxLine ( mainpanel, MAINPANEL_TEXTBOX ,0, Value); 调用该函数后,输出文本框中的所有内容到变量 Value 中 6.2 列表框列表框 列表框(List Box) 、树控件(Tree)和表格控件(Table)包含在同一类中,如图 6.4 所 示 图 6.4 列表框(List Box) 、树控件(Tree)和表格控件(Table) 列表框为用户提供选项功能,控件本身显示列表项,用户可以选择某项,同时具有添加 滚动条功能列表框控件是由数值和标签对组成的,每对都有其索引值 树控件提供了一组分级项目列表用户可以选择某一项目或项目组 85 使用表格控件可以输入或观察数组,每个单独的表格单元有六种类型可以选 Numeric 型、String 型、Picture 型、Ring 型、Combo Box 型和 Button 型 ((1)控件属性设置)控件属性设置 双击 LISTBOX 控件弹出图 6.5 属性设置窗口 图 6.5 LISTBOX 属性设置窗口 点击点击Label/Value Pairs按钮会弹出编辑窗口按钮会弹出编辑窗口 ,如图 6.6 所示。

图 6.6 列表框 Label/Value Pairs 属性编辑窗口 • 在此窗口中设置每一组项目 (item) 的数据类型 (Data Type ) 、 标题 (Label ) 和值(Value ) • 当程序运行时,在列表框中显示的文本是列表框项目中的标题(Label ) 属 性 • 当 List Box 的控件属置为非指示模式时,用户可以通过鼠标或键盘改变文本 • 具体操作为:按下 Home 或 PageUp 将滚动到 List Box 的顶部;按下 End 或 PageDown 键,将滚动到 List Box 的尾部 ((2))LIST BOX 控件的功能函数控件的功能函数 ListBox 常用函数有:向列表框中插入项目、删除项目、替换项目、获得属 值、设置属 性值等,如表 6.3 所示 表 6.3 List Box 常用的通用函数 函数原型 函数功能 函数原型 函数功能 InsertListItem() 向列表框增加内容 GetIndexFrom Value() 依据值得到索引 ReplaceListItem() 替换列表框的内容 GetCtrlIndex() 获得控件索引 86 DeleteListItem() 删除列表框的内容 SetCtrlIndex() 设置控件索引 GetValueFromIndex() 依据索引号得到值 GetLabelFromIndex() 依据索引得到该标题名 GetValueLengthFromIndex() 依据索引号得到值的长度 • InsertListltem 函数函数 InsertListltem 函数的功能是向列表控件和循环控件添加内容。

下载提示
相似文档
正为您匹配相似的精品文档