MFC編輯框資料讀寫

2021-07-29 14:59:18 字數 1831 閱讀 6779

有幾種常用的獲取編輯框內容和寫入的方法,初學者往往容易迷惑。

通過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

; lparam =(lparam)lpsztext

;

(2)寫入
getdlgitem(idc_edit1)->sendmessage(wm_settext, 0, (lparam)szedit);
檢視msdn:wm_settext
wm_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 法一 ...