不能将参数 3 从“CString”转换为“CWnd &”

ktpd001 2005-03-19 12:22:16
在这一函数内发生错误,我定义的m_sTime是CString类型
void CTimersDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_STATICTIME, m_sTime);

说不能将参数 3 从“CString”转换为“CWnd &”

什么原因,如何解决,请高手不吝赐教
...全文
2012 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
Cline 2005-03-19
  • 打赏
  • 举报
回复
DDX_Text(pDX, IDC_STATICTIME, m_sTime);
rainfall19831109 2005-03-19
  • 打赏
  • 举报
回复 1
一般是你定义错了,我想你是定义了一个控件类的变量...
DoDataExchange一般都是在CLASSWIZARD中自动完成的了
ktpd001 2005-03-19
  • 打赏
  • 举报
回复
DDX_Control和DDX_Text怎么用呢
fstars 2005-03-19
  • 打赏
  • 举报
回复
up
fstars 2005-03-19
  • 打赏
  • 举报
回复
up
surstar 2005-03-19
  • 打赏
  • 举报
回复
DDX_Control跟DDX_Text的区别:前者数据型是该控件的标题,后者就是控件本身绑定的一个对象
去取里面值的方法不一样了

  Text 直接用"= " Control呢,用GetWindowText()
shicheng521 2005-03-19
  • 打赏
  • 举报
回复
三楼已经回答了你的问题
ktpd001 2005-03-19
  • 打赏
  • 举报
回复
二楼说的没错,谁能帮我讲一下DDX_Control跟DDX_Text的区别呢,谢谢。
erzichang_ 2005-03-19
  • 打赏
  • 举报
回复
二楼正解。改一下就行了。
DDX_Control(pDX, IDC_STATICTIME, m_sTime);改成
DDX_Text(pDX, IDC_STATICTIME, m_sTime);
ktpd001 2005-03-19
  • 打赏
  • 举报
回复
m_sTime是一个静态文本控件的变量
ktpd001 2005-03-19
  • 打赏
  • 举报
回复
我用的是.net,找不到你说的东西
chen18s 2005-03-19
  • 打赏
  • 举报
回复
DDX_函数是数据交换函数
比如
你在一个对话框程序里,有个按钮IDC_BUTTON_OK
ctrl +w 进入类视图,在member variables页双击列表里的IDC_BUTTON_OK
就会有个对话框出来,中间的这个组合框里一般列出2种,一种是数据型比如 CString和int
另一种就是控件型 比如我说的例子就会出现CButton
前者数据型是该控件的标题,后者就是控件本身绑定的一个对象了
DDX_Contral是后者型
_TEXT呢,就是数据型了
你在不熟悉的时候不要手工添加这些东西,Ctrl + w用向导加吧

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧