MFC 多行文本顯示心得

最近在利用MFC作端口掃描器實驗,其中涉及CString、char、int等之間的轉換、文本框的多行顯示問題、老是顯示底層最新結果等問題,下面寫一些我總結的相關方法。編碼

1、CString 轉  char *spa

void CS_to_ch(char mess[], CString str) {         //CString to char
    char *pbuff = (char *)str.GetBuffer(str.GetLength());
    char one = pbuff[0];
    char two = pbuff[1];
    int i = 0;
    for (; i < str.GetLength(); i++) {
        mess[i] = pbuff[i * 2];
    }
    mess[i] = '\0';
}

      這樣就可將cstring轉爲char*code

      char* 轉cstring  更爲簡單orm

char s[]="hello";
CString str = s;

      int 轉 cstringblog

int i = 12;
CString str;
str.Format(_("%d"), i);

 

2、文本框的多行顯示unicode

       文本框輸出的方法有不少,這裏介紹其中一種方法。string

       首先爲咱們的edit control關聯變量,類型選擇value,名稱自取,假設爲Cedit,首先接受一行輸出:it

Cedit =_T("hello");
UpdateData(FALSE);

       _T()表明用unicode字符集編碼,具體不作闡述。class

       若是多行輸出,首先須要設置edit control的屬性:變量

       Multiline   設爲 True;

       Horizontal Scroll 和Vertical Scroll及Want return 均設爲true;

       而後,

Cedit ="hello";
Cedit =Cedit + "\r\n" +"world";
UpdateData(FALSE);

        便可多行輸出。

        實現底部更新只需一行代碼:(首先爲edit control設置關聯變量,類型爲控件,名字自取,假設爲m_edit)

        

UpdateData(FALSE);
m_edit.LineScroll(m_edit.GetLineCount() - 1, 0);
相關文章
相關標籤/搜索