vc中edit控件使用總結

通過類嚮導可以生成兩種類成員變量,一種是cstring類型,一種是cedit類型。
在程序中使用時如果只是簡單的獲取 edit控件內容,或設置簡單的內容建議使用cstring類型成員變量。
示例:
CString   m_strEdit;
//獲得edit框內容
UpdateData(true);
此時m_strEdit就是edit框內容的字符串變量。
//要更新edit的話只要對m_strEdit進行賦值然後
UpdataData(false);//即可

如果是一些對edit框的複雜操作建議用cedit類型。
示例:
CEdit m_ctrlEdit;
//將光標移到開頭
m_ctrlEdit.SetSel(0,0);
//將光標移到末尾
m_ctrlEdit.SetSel(-1);
//選中所有內容
m_ctrlEdit.SetSel(0,-1);
//寫入值
m_ctrlEdit.ReplaceSel("替換內容");
//得到當前edit框中的所有字符數
int iStart,iCount;//iCount 爲字符數
m_ctrlEdit.SetSel(0,-1);
m_ctrlEdit.GetSel(iStart,iCount);
還一種可以直接用控件的id值來進行操作
示例:
((CEdit*)GetDlgItem(IDC_EDIT)
他類似於上邊的m_ctrlEdit
這樣寫的好處是可以在消息傳遞中使用,便於不同窗口間傳遞edit內容
例如:下面的消息響應函數中
SetEditContent(WPARAM wPARAM, LPARAM lPARAM)
IDC_EDIT可以通過wPARAM傳遞近來,而字符傳內容可以直接通過lPARAM傳遞近來
CString Msg="要傳遞的消息";
::SendMessage(m_hParent,WM_SENDMSG_EDIT,(WPARAM) IDC_EDIT, (LPARAM)(LPSTR)(LPCTSTR)Msg)
如:
((CEdit*)GetDlgItem(wPARAM))->SetSel(-1);
((CEdit*)GetDlgItem(wPARAM))->ReplaceSel((LPCSTR)lPARAM);
 
VC編輯框(EDIT)的自動換行與自動滾屏 
 

經過多次測試,總結出VC編輯框(EDIT)的自動換行與自動滾屏的方法。

方法一:(當EDIT映射到一CString時) 
m_String = m_String + sNewString + "\r\n"   //自動換行
 UpdateData(false);

此法只能做到自動換行,不會自動滾屏到最後一行。

方法二:(當EDIT映射到一EDIT時)
m_Edit.SetSel(-1, -1);      //自動滾屏
 m_Edit.ReplaceSel(sNewString+"\r\n");   //自動換行
 UpdateData(true);

此法可以做到自動換行,並自動滾屏到最後一行。

以上,m_String、m_Edit.分別爲給編輯框添加的成員變量;sNewString 爲要顯示的字符串
注意二法中UpdataData參數的區別。

我發現修改編輯框的屬性:Auto_HScroll等用處不大。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章