代码之家  ›  专栏  ›  技术社区  ›  Nathan Campos

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

  •  1
  • Nathan Campos  · 技术社区  · 14 年前

    我在玩一点 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 ,他是否返回OK,但如果使用 静态的 . 然后我想知道我需要做什么来做回报,而不是显示那些方块。

    另外,这个领域( 编辑 )就像一个 TextField ,我不能返回它,那么我也想知道如何更改它。

    2 回复  |  直到 14 年前
        1
  •  1
  •   Adrian McCarthy    14 年前

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

        2
  •  1
  •   Remy Lebeau    14 年前

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