我通过简单的文本编辑器与PocketC玩一点点。但是使用此代码来读取和显示EDIT
控件上的文件内容:
int filehandle;
int file_len;
string file_mode;
initComponents()
{
createctrl("EDIT", "test", 2, 1, 0, 24, 70, 25, TEXTBOX);
wndshow(TEXTBOX, SW_SHOW);
guigetfocus();
}
main()
{
filehandle = fileopen(OpenFileDlg("Plain Text Files (*.txt)|*.txt; All Files (*.*)|*.*"), 0, FILE_READWRITE);
file_len = filegetlen(filehandle);
if(filehandle == -1)
{
MessageBox("File Could Not Be Found!", "Error", 3, 1);
}
initComponents();
editset(TEXTBOX, fileread(filehandle, file_len));
}
一切都好,但我的测试文件现在已经返回:
Hello, World! PocketC Test Of My Editor
然后当我在编辑器上打开这个文件而不是返回时,我只看到两个方块(这意味着它是该控件的未知字符),但如果我将控件更改为STATIC
,则他回来没问题,但是如果我使用STATIC
我就无法编辑文本。然后我想知道我需要做什么来做回报而不是显示那些方块。
此外,此字段(EDIT
)与TextField
类似,我无法对其进行返回,然后我想知道如何更改此内容。
答案 0 :(得分:1)
我对PocketC一无所知,但一般情况下,如果数据中使用的换行符与操作系统的本机换行符不匹配,则会出现这种情况。例如,如果数据使用CRLF,其中OS期望裸CR或裸LF,反之亦然。由于您看到出现两个方块,请检查文件数据是使用LFCR,CRCR还是LFLF而不是CRLF。
答案 1 :(得分:1)
我不知道PocketPC,但Windows编辑控件需要ES_MULTILINE
样式才能正确显示多行文字。