编辑控件显示正方形而不是返回

时间:2010-04-15 00:26:20

标签: c file-io textbox windows-ce pocketc

我通过简单的文本编辑器与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类似,我无法对其进行返回,然后我想知道如何更改此内容。

2 个答案:

答案 0 :(得分:1)

我对PocketC一无所知,但一般情况下,如果数据中使用的换行符与操作系统的本机换行符不匹配,则会出现这种情况。例如,如果数据使用CRLF,其中OS期望裸CR或裸LF,反之亦然。由于您看到出现两个方块,请检查文件数据是使用LFCR,CRCR还是LFLF而不是CRLF。

答案 1 :(得分:1)

我不知道PocketPC,但Windows编辑控件需要ES_MULTILINE样式才能正确显示多行文字。