有幾種常用的獲取編輯框內容和寫入的方法,初學者往往容易迷惑。
通過getdlgitem和getwindostext
char szedit[10] = ;
int nedit = 0;
getdlgitem(idc_edit1)->getwindowtext(szedit, 10); //獲取
nedit = atoi(szedit);
getdlgitem(idc_edit2)->setwindowtext(szedit); //寫入
呼叫atoi函式可將獲取到的值直接轉換成整型。itoa作用相反。
通過getdlgitemtext
char szedit[10] = ;
getdlgitemtext(idc_edit1, szedit, 10); //獲取
setdlgitemtext(idc_edit2, szedit); //寫入
通過getdlgitemint,只能獲得整型數值
int nedit = 0;
nedit = getdlgitemint(idc_edit1);
寫入呼叫setdlgitemint();
通過類嚮導建立和編輯框關聯的變數
(1)讀取資料
updatedata(true); //從編輯框中獲取資料到關聯變數
(2)寫入資料updatedata(false); //關聯變數的值更新到編輯框中
char szedit[10] = ;
m_edit.getwindowtext(szedit, 10);
m_edit.getwindowtext(szedit);
m_edit是cedit型別的變數。
通過訊息傳送的方式。
(1)讀取
char szedit[10] = ;
::sendmessage(getdlgitem(idc_edit1)->m_hwnd, wm_gettext, 10, lparam(szedit));
使用的自帶的wm_gettext訊息。也可以自定義可用於對話方塊資料間的傳遞。
檢視msdn:wm_gettext
wm_gettextwparam =(wparam)cchtextmax(2)寫入; lparam =(lparam)lpsztext
;
getdlgitem(idc_edit1)->sendmessage(wm_settext, 0, (lparam)szedit);
檢視msdn:wm_settextwm_settextwparam = 0; lparam =(lparam)(lpctstr)lpsz;
(1)讀取
senddlgitemmessage(idc_edit1, wm_gettext, 10, (lparam)szedit);
(2)寫入senddlgitemmessage(idc_edit1, wm_settext, 0, (lparam)szedit);
1)常用的是前四種。
2)第四種在編輯框較多情況下比較實用,大於三個建議使用此方法。
3)第五種不常用,僅供參考。
MFC組合框 編輯框
getdlgitem idc enablewindow false 設定初始狀態,編輯框獲取資訊的方式 變數 m edit m edit.format 操作組合框的資料 1 由於組合框內包含了列表框,所以列表框的功能都能夠使用。如可以利用 int addstring lpctstr lpszitem...
MFC之編輯框
初始操作 新建mfc應用程式,專案名為editctrl,基於對話方塊。刪除原有控制項在右側工具箱中找到edit control。放置到視窗中。如圖 現在的編輯框只可以在一行輸入,無法換行,同時如果按下enter換行會直接退出程式。多行輸入 文字向上滾動 滾動條 1.多行輸入 右鍵屬性,找到multi...
MFC設定編輯框字型大小
1 首先,為edit控制項繫結乙個控制變數 m edit 2 然後,在對話方塊類中新增乙個成員變數cfont m ofont 注 此處必須是成員變數,不能是區域性變數。3 最後就是,利用setfont函式修改字型了,主要有兩種方式,可以在對話方塊的初始化函式oninitdialog中實現 1 法一 ...