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