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

C 编辑显示正方形而不是返回的控件,c,file-io,textbox,windows-ce,pocketc,C,File Io,Textbox,Windows Ce,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 = f

我正在做一个简单的文本编辑器。但使用此代码在
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 你好,世界! 口袋 对我的编辑的考验 然后,当我在编辑器上打开这个文件时,我看到的不是返回,而是两个正方形(这意味着它是该控件的未知字符),但如果我将控件更改为
静态
,它确实会返回ok,但如果我使用
静态
,则无法编辑文本。然后我想知道我需要做什么来做返回,而不是显示那些方块


另外,这个字段(
EDIT
)就像一个
TextField
,我不能对它进行返回,然后我也想知道如何更改它。

我对PocketC一无所知,但一般来说,如果数据中使用的换行符与操作系统的本机换行符不匹配,就会出现这种行为。例如,如果数据使用CRLF,而操作系统希望使用裸CR或裸LF,反之亦然。由于您看到出现两个方块,请检查文件数据是否使用LFCR、CRCR或LFLFLF而不是CRLF。

我不知道PocketPC,但Windows编辑控件需要使用
ES_MULTILINE
样式,以便正确显示多行文本。

请记住,我在设备上使用记事本创建了文本文件。但是我怎么知道文件使用的是哪一个呢?你知道Windows上这个样式属性的编号吗?非常感谢!它起作用了!但是你从哪里得到这些控件的信息呢?PocketPC SDK应该有头文件和文档。