MFC Edit控制項 error:“DDX_Control”: 不能將參數 3 從“int”轉換為“CWnd &”

來源:互聯網
上載者:User

在使用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)

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.