MFC Edit控件 error:“DDX_Control”: 不能将参数 3 从“int”转换为“CWnd ”
在使用MFC的Edit Control等控件時可能你會遇到這樣的問題:error:“DDX_Control”: 不能將參數 3 從“int”轉換為“CWnd &”或error:“DDX_Control”: 不能將參數 3 從“CString”轉換為“CWnd &”.這是什么原因呢?
一.淺析
查看資料和搜索后,我也看到了一些具體分析:
 在一個對話框程序里,有個按鈕IDC_BUTTON_OK。Ctrl+w (VC6.0)或Ctrl+Shift+X進入類視圖,在member variables頁雙擊列表里的IDC_BUTTON_OK就會有個對話框出來,中間的這個組合框里一般列出2種:
 一種是數據型比如CString和int;另一種就是控件型CButton。
 前者數據型是該控件的標題內容,后者就是控件本身綁定的一個對象。DDX_Contral是后者型,_Control是控件類型,_TEXT是數據型。修改如下:( DDX_函數是數據交換函數)
DDX_Control(pDX, IDC_BUTTON1, m_Botton1);改成
DDX_Text(pDX,IDC_BUTTON1,m_Botton1);(或刪除該語句)
二.深度分析
它出現該錯誤的原因是什么呢?
 我發現在類向導添加控件變量int CString時(Ctrl+Shitf+X)
應該先選擇Value類別,而不是Control強制該變量類型為int型,然后在變量類型中選擇int、CString型.在自定義變量名.這樣強制的轉換就會造成具體的錯誤.
如上圖所示添加一個Edit Control(編輯框)控件,同時定義該控件為CString類型,變量名為m_edit5,在類別中有Control和Value,選擇Value。
 同時好像在Button控件中我嘗試選擇Value,好像只有Control類別,因為有的控件很特殊,如按鈕,它本身只能定義為Button類型,具體控件具體分析。
 希望上面的文章能幫助大家,高手略過。同時淺析中參考了下面博客的內容:
http://hi.baidu.com/wangguang246/item/8d4cad9f03625bdf1e427128
 深度分析是自己的見解,錯誤的地方見諒!
 (2013-6-8-夜2點 by:Eastmout)
?
總結
以上是生活随笔為你收集整理的MFC Edit控件 error:“DDX_Control”: 不能将参数 3 从“int”转换为“CWnd ”的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: MFC VS2012对话框背景填图
- 下一篇: MFC 基础知识:主对话框与子对话框(一
