MFC中CEdit控件實現多行,並且可在界面進行修改

首先給定CEdit控件一個ID,並且分配CString 類型的變量m_str與vector<CString> 類型的變量m_vector,並且定義一個button按鈕,點擊button按鈕爲CEdit控件選擇路徑。定義臨時變量m_str1,m_str1 = dlg.getfilename , m_vector.pushback(m_str) ;m_str += m_str1+ "\r\n"。對CEdit控件添加OnEnChangeEdit函數,代碼爲

UdateData(TRUE);
int num = m_str.Replace(_T("\r\n"), _T("\n"));//確定m_str中有幾個"\r\n",以實現對m_str的分割, 並將"\r\n"替換爲"\n"
CString m_tem;
m_vector.clear();//清空vector變量
if(num == 0)//說明修改CEdit控件後只有一個路徑
{
    m_vector.pushback(m_str.Trim());
}
else
{
    for(int i = 0; i < num; i++)
    {
        AfxExtractSubString(m_tem, m_str, i, '\n');//以第0個"\n"爲分割界線將m_str分割
        m_vector.pushback(m_tem);
     }
}
m_str.Replace(_T("\n"), _T("\r\n"));//最後將"\n"替換爲"\r\n",以保證在CEdit控件中顯示的格式規範
UpdateData(FALSE);

這樣便實現了該功能

發佈了22 篇原創文章 · 獲贊 11 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章