【第九章9.2】edit,richedit -- 查找替换
// 导入 win.ui 库,用于创建图形界面 import win.ui; /*DSG{{*/ // 创建一个名为 winform 的窗口对象,并设置其属性 var winform = win.form(text="richedit - 使用查找替换对话框";right=1071;bottom=815) // 向窗口中添加控件 winform.add( // 添加一个"查找"按钮控件,并设置其属性 btnFind={cls="button";text="查找";left=732;top=755;right=860;bottom=798;db=1;dr=1;z=2}; // 添加一个"替换"按钮控件,并设置其属性 btnReplace={cls="button";text="替换";left=871;top=755;right=999;bottom=798;db=1;dr=1;z=3}; // 添加一个富文本编辑控件,并设置其属性 richedit={cls="richedit";text="richedit richedit richedit richedit richedit richedit richedit richedit richedit richedit ";left=27;top=11;right=1049;bottom=728;db=1;dl=1;dr=1;dt=1;edge=1;hidesel=false;multiline=1;z=1} ) /*}}*/ // 导入 win.dlg.findReplace 库,用于查找替换对话框 import win.dlg.findReplace; // 创建查找替换对话框对象 frDlg,并关联到 winform var frDlg = win.dlg.findReplace(winform); // 为查找替换对话框的搜索事件定义处理函数 // 参数解释: // findWhat - 要查找的文本内容 // down - 查找方向,通常为布尔值,true 表示向下查找,false 表示向上查找 // matchCase - 布尔值,true 表示区分大小写查找,false 表示不区分大小写 // wholeWord - 布尔值,true 表示全字匹配查找,false 表示非全字匹配 frDlg.onSearch = function(findWhat,down,matchCase,wholeWord){ // 在富文本编辑控件中查找文本 // 参数解释: // findWhat - 要查找的文本 // frDlg.flags - 查找的标志或选项,可能包含查找方向、是否区分大小写等 winform.richedit.findText(findWhat,frDlg.flags); } // 为查找替换对话框的替换事件定义处理函数 // 参数解释: // findWhat - 要查找的文本内容 // replaceWith - 用于替换查找到的文本的内容 // down - 查找方向,通常为布尔值,true 表示向下查找,false 表示向上查找 // matchCase - 布尔值,true 表示区分大小写查找,false 表示不区分大小写 // wholeWord - 布尔值,true 表示全字匹配查找,false 表示非全字匹配 frDlg.onReplace = function(findWhat,replaceWith,down,matchCase,wholeWord){ //设置富文本编辑控件(richedit)中当前选中部分的字符格式 如颜色,字体大小等 winform.richedit.setSelCharformat({textColor = 0xFF0000 }); // 在富文本编辑控件中替换文本 // 参数解释: // findWhat - 要查找的文本 // replaceWith - 用于替换的文本 // frDlg.flags - 替换的标志或选项,可能包含查找方向、是否区分大小写等 winform.richedit.replaceText(findWhat,replaceWith,frDlg.flags); } // 为查找替换对话框的全部替换事件定义处理函数 // 参数解释: // findWhat - 要查找的文本内容 // replaceWith - 用于替换查找到的文本的内容 // down - 查找方向,通常为布尔值,true 表示向下查找,false 表示向上查找 // matchCase - 布尔值,true 表示区分大小写查找,false 表示不区分大小写 // wholeWord - 布尔值,true 表示全字匹配查找,false 表示非全字匹配 frDlg.onReplaceAll = function(findWhat,replaceWith,down,matchCase,wholeWord){ // 在富文本编辑控件中全部替换文本 // 参数解释: // findWhat - 要查找的文本 // replaceWith - 用于替换的文本 // frDlg.flags - 全部替换的标志或选项,可能包含查找方向、是否区分大小写等 winform.richedit.replaceAll(findWhat,replaceWith,frDlg.flags) } // 为"查找"按钮的命令事件定义处理函数 // 参数解释: // id - 按钮的标识符 // event - 触发的事件 winform.btnFind.oncommand = function(id,event){ // 在查找替换对话框中执行查找操作,并传入富文本编辑控件的选中文本 // 参数解释: // winform.richedit.selText - 富文本编辑控件中选中的文本 frDlg.find(winform.richedit.selText) } // 为"替换"按钮的命令事件定义处理函数 // 参数解释: // id - 按钮的标识符 // event - 触发的事件 winform.btnReplace.oncommand = function(id,event){ // 在查找替换对话框中执行替换操作,并传入富文本编辑控件的选中文本 // 参数解释: // winform.richedit.selText - 富文本编辑控件中选中的文本 frDlg.replace(winform.richedit.selText); } // 显示窗口 winform.show() // 启动界面线程消息循环 win.loopMessage();
库路径:
注意:
默认搜索值 是不高亮的,如果需要让搜索的值在富文本编辑框中高亮,
需要在 /*DSG{{*/ /*}}*/ 界面的富文本控件中添加一个属性:hidesel=false;
演示搜索界面:
替换界面:
相关回复
-
暂无评论!