【第九章9.2】edit,richedit -- 查找替换

贴主:admin 发贴:2024-08-06 11:03 浏量:26
// 导入 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; 


演示搜索界面:

替换界面:

相关回复


    暂无评论!

发表回复