cedit* pboxone;
pboxone = (cedit*) getdlgitem(idc_edit1);
用 getdlgitem(idc_edit1); 返回乙個指向這個控制項的指標, cedit* ,存入 pboxone。
接下來,就可以用它了,例如:
gotodlgctrl(pboxone);
updatedata()引數只有乙個,預設為true。
updatedata(true);
用窗體上控制項中的內容來更新和控制項相關連的變數的值(只能更新value型別的變數)
例如:你在你的窗體中有乙個edit控制項,為這個控制項關聯了cstring型別的變數m_strname;
你在控制項中添入內容之後,必須呼叫updatedata(true);才能把你添入的內容傳給m_strname這個變數
updatedata(false);
和上面的正好相反,還是以上面的edit為例,當你在程式中改變了m_strname變數的內容的時候,如果你想讓那個edit也顯示更新後的m_strname,就必須呼叫updatedata(false);
這樣在你的edit中才能顯示更新完的變數的值!
getwindowtext 的用法: 例:
m_name.getwindowtext(str);
如果不使用關聯變數,可以使用getdlgitemtext(idc_edit,str);或setdlgitemtext(idc_edit,str)來更改控制項的值的時候,就不需要updatedata()函式
例:cedit *pedit = (cedit*)getdlgitem(idc_edit1);
cstring str1;
pedit->getwindowtext(str1);
(cedit*)getdlgitem(idc_edit2)->setwindowtext(str1);
wm_settext:
char * lpsztext="123456789";
::sendmessage(getdlgitem(idok)->m_hwnd,wm_settext,0,(lparam)lpsztext);
wm_gettext:
char * lpsztext = new char[100];
::sendmessage(getdlgitem(idcancel)->m_hwnd,wm_gettext,100,(lparam)lpsztext);
messagebox(lpsztext);
注意:
sendmessage是mfc的api,它有三個引數。
::sendmessage是sdk的api,它有四個引數。
MFC控制項關聯變數總結(EDIT編輯框)
1.不關聯控制項 使用getdlgitem idc edit1 getwindowtextw 變數名 來獲取控制項內容 使用getdlgitem idc edit1 setwindowtextw 變數名 來更新變數內容 2.關聯的是value型別的變數 value只是用來傳遞資料,不能對控制項進行其...
如何讓編輯框響應滑鼠單擊
滑鼠單擊會產生wm lbuttondown訊息,此訊息屬於標準視窗訊息。標準視窗訊息的路由是從子類向父類傳遞,因此我們可以利用標準訊息的路由來實現。預設情況下編輯框是不響應滑鼠單擊的,因為當你單擊編輯框時產生的wm lbuttondown訊息都流向了編輯框的基類cedit。所以我們要想編輯框響應滑鼠...
MFC編輯框如何改變字型的大小
說明 其中m editplace為ceidt控制項型別的變數。方法一 步驟一 在dlg類中增加乙個類成員變數 cfont m editfont 注意 這裡 font 物件必須是類成員變數,不能是區域性變數,否則會出現只改變了游標的大小,而不能改變字型的大小。步驟二 在oninitdialog方法中增...