richedit 库里的
getSelCharformat = function(){
var f = CHARFORMAT2();
::SendMessageByStruct(owner[["hwnd"]],0x43A/*_EM_GETCHARFORMAT*/,1/*_SCF_SELECTION*/,f)
return getCharformat(1/*_SCF_SELECTION*/);
};
好像最后一行少了 owner,我自己测试的时候改补上了。
我本来想通过 setSelCharformat 来获取已经排版好的文字的格式,然后想试图设置 setSelCharformat 来排版,但是在选择字符的时候遇到问题。代码如下:
import win.ui;
/*DSG{{*/
mainForm = win.form(text="aardio form";right=759;bottom=469)
mainForm.add(
button={cls="button";text="测试";left=550;top=43;right=605;bottom=75;z=2};
richedit={cls="richedit";text="richedit";left=36;top=35;right=507;bottom=437;edge=1;multiline=1;z=1}
)
/*}}*/
import console
console.open()
execute("mode con cols=140 lines=400")
p = console.print
d = console.dump
mainForm.button.oncommand = function(id,event){
for(i=1;4;1){
mainForm.richedit.setsel(i,i)
var cf = mainForm.richedit.getSelCharformat()
p(i, mainForm.richedit.selText)
//d(cf)
}
for(i=1;4;1){
mainForm.richedit.setsel(i,i+1)
var cf = mainForm.richedit.getSelCharformat()
p(i, mainForm.richedit.selText)
//d(cf)
}
}
mainForm.show();
return win.loopMessage();