control型變數是這個控制項所屬類的乙個例項(物件)可以通過這個變數來對該控制項進行一些設定。而value只是用來傳遞資料,不能對控制項進行其它的操作。
control型變數可以獲得控制項的例項,通過這個變數,你可以操縱控制項
value型變數僅僅可以獲得該控制項的public型變數
如果你新增了乙個m_ctrledit的control型變數你可以呼叫控制項支援的所有函式,如:
m_ctrledit.getstyle(...)
獲得控制項的輸入內容或者說文字內容:
cstring str_name;
m_ctrledit.getwindowtext(str_name);
messagebox(str_name,"提示",0);
而value型變數一般用於向控制項傳遞資料,如:變數為cstring 型別的 m_str m_str="hustwjz";
updatedata(false); //可以向控制項傳遞資料
updatedata(true); //可以從控制項獲得資料
獲得輸入資料後可以進行相應操作.以下是寫檔案用到的,把輸入的內容寫入檔案
updatedata(true);
student.age=m_age;
strcpy(student.name,m_char);
cstring fpath;
inifilehandle->m_filename.format(_t("%s"),fpath+_t("student"));
inifilehandle->openfile(1);
inifilehandle->serialize(student);
inifilehandle->closefile();
可以使用成員變數來代替某個控制項,當控制項發生變化時,該成員變數的值也發生變化;classwizard增加成員變數的時候,選擇value型別可以建立乙個包含由使用者來輸入控制項文字和控制項狀態的成員變數;選擇control型別,我們可以對這個控制項直接進行訪問;
control就是控制項,可以得到長度 高度 是不是可用 是不是可見
value是個字串,跟控制項繫結在一起,可以通過updatedata(true/false)相互更新;
value 就是乙個變數
control 就是乙個控制項。
主要的區別也就是 變數 和 控制項之間的區別,雖然他們實質上都是一樣的。
可是選擇 value ,mfc 會把控制項的內容對應到乙個變數上。除非你用其他api取得這個
控制項進行操作,否則,就是乙個變數而已。主要的用途是 updatedata。進行資料讀些。
而作為控制項,把就是把這個東西直接對應到了乙個控制項物件上去,比如 cedit 物件。
你可以直接用這個物件來進行操作。熟悉了之後,就是乙個怎麼用怎麼方便的問題。從其
實質來說,我認為沒有什麼區別,都是控制項。不表示,你選了value ,其控制項就不存在,
只是說選擇value ,mfc的wizard 做了跟多事情,讓你面對這個控制項可以把它看作乙個值而已。
MFC 控制項中control和value的區別
最近學習vc,又被這個問題搞糊塗了,上網查了下,終於搞清楚了。control型變數是這個控制項所屬類的乙個例項 物件 可以通過這個變數來對該控制項進行一些設定。而value只是用來傳遞資料,不能對控制項進行其它的操作。control型變數可以獲得控制項的例項,通過這個變數,你可以操縱控制項 valu...
Value 給靜態變數賦值
value可以直接獲取配置檔案裡的配置資訊 今天給靜態變數賦值的時候為null,一查才發現 value不能直接給靜態變數賦值。需要做如下變通 把註解放在變數的set方法上面 注意set方法不能用static修飾 private static string enc path private stati...
value和placeholder 的區別
由於html5的出現,使得表單的功能更加強大,input的功能應用起來更加簡單,從value到placeholder。但是由於相容問題,placeholder只適合在移動端的專案,ie6 7 8不支援,只能用value,或者你可以用其他方法模擬placeholder,具體案例你可以看支付寶和財付通的...