【第九章9.1】edit,richedit -- 修改颜色样式

贴主:admin 发贴:2024-08-06 11:02 浏量:19
//修改颜色样式
import win.ui;
/*DSG{{*/
var winform = win.form(text="在富文本框输入带颜色字体";right=759;bottom=469)
winform.add(
button={cls="button";text="输入指定颜色字体";left=502;top=412;right=667;bottom=458;z=2};
richedit={cls="richedit";left=25;top=15;right=716;bottom=398;edge=1;multiline=1;z=1}
)
/*}}*/

//响应按钮事件
winform.button.oncommand = function(id,event){
	
	/*
	追加文本,支持任意个文本参数。
	可插入任意个样式表参数,如果指定了样式表,函数返回前恢复默认样式。
	样式表指定 CHARFORMAT2 结构体部分需要修改的字段即可。
	用法细节参考库函数文档。
	
	常用字段:
	- backColor: 背景颜色,GDI 颜色格式( 0xBBGGRR )。
	- textColor: 字体颜色,GDI 颜色格式( 0xBBGGRR )。
	- faceName: 字体名 
	- point: 字体大小,以 pt 为单位
	- italic = 是否斜体,仅用于写入样式。 
	- strikeout = 是否显示删除线,仅用于写入样式。   
	- underlineType: 下划线类型 
	- underline = 是否粗体,仅用于写入样式。 
	*/
	winform.richedit.appendText( 
		{ textColor = 0xFF0000 },
		" ","蓝色文本",
		{  protected = true, point = 16 },
		" ","绿色文本",
		{ textColor = 0x0000FF,point = 8 },
		" ","红色文本1", " ","红色文本2", " ","红色文本3",
	);
	
	winform.richedit.appendText("默认样式");
	
	/*
	下面这样写也可以,等于传了一个表参数并省略了外层大括号{}。
	函数会自动展开参数表的数组成员作为其他调用参数,可指定多个文本参数。
	*/
	winform.richedit.appendText( textColor = 0xFF0000, "蓝色文本" ) 
	
	//下面这样写作用一样
	winform.richedit.appendText( { textColor = 0xFF0000, "蓝色文本"} ) 
	
	//下面这样写也行
	winform.richedit.appendText({ 
    	textColor = 0x00FF00;  // 使用 RGB 颜色值(0xBBGGRR 格式),这里是绿色
    	text = "这是绿色文本";
	})
}

//使用 TO 文本对象(COM 对象)设置样式
var textDoc = winform.richedit.createTextDocument()
textDoc.Selection.Text = "红色加粗"
textDoc.Selection.Font.ForeColor = gdi.RGB(255,0,0)  // 红色
textDoc.Selection.Font.Bold = textDoc.tomTrue  // 加粗

winform.show();
win.loopMessage();

   

相关回复


    暂无评论!

发表回复