MFC高手指点 关于CDataExchange()函数的菜鸟问题
我写了一个对话框其中有个横向滑块的控件和我自定义的一个变量关联我要通过这个变量在旁边一个静态文本控件里输入百分比那么我该在什么地方写更新函数呢书上是在CDataExcha...
我写了一个对话框 其中有个横向滑块的控件 和我自定义的一个变量关联
我要通过这个变量 在旁边一个静态文本控件里输入百分比 那么我该在什么地方写更新函数呢
书上是在CDataExchange()这个函数里去更新 这个函数不是被UpDateData()函数调用的吗?
我不明白这个函数如何做到和我的滑块空间同步更新的呢 我试了试 确实可以同步更新 说明这个函数肯定在对话框改变的时候 被调用了 请问是什么时候被调用的呢?
还有个小问题 就是CDateExchange::Fail() 函数是什么东东啊 展开
我要通过这个变量 在旁边一个静态文本控件里输入百分比 那么我该在什么地方写更新函数呢
书上是在CDataExchange()这个函数里去更新 这个函数不是被UpDateData()函数调用的吗?
我不明白这个函数如何做到和我的滑块空间同步更新的呢 我试了试 确实可以同步更新 说明这个函数肯定在对话框改变的时候 被调用了 请问是什么时候被调用的呢?
还有个小问题 就是CDateExchange::Fail() 函数是什么东东啊 展开
3个回答
展开全部
void AFXAPI DDX_Slider(CDataExchange* pDX, int nIDC, int& value)
{
HWND hWndCtrl = pDX->PrepareCtrl(nIDC);
if (pDX->m_bSaveAndValidate)
value = (int) ::SendMessage(hWndCtrl, TBM_GETPOS, 0, 0l);
else
::SendMessage(hWndCtrl, TBM_SETPOS, TRUE, value);
}
从slider将值更新到变量或者将变量的值设置到slider上面,就是通过上面这个实现的。这个在你的DoDataExchange里面。
{
HWND hWndCtrl = pDX->PrepareCtrl(nIDC);
if (pDX->m_bSaveAndValidate)
value = (int) ::SendMessage(hWndCtrl, TBM_GETPOS, 0, 0l);
else
::SendMessage(hWndCtrl, TBM_SETPOS, TRUE, value);
}
从slider将值更新到变量或者将变量的值设置到slider上面,就是通过上面这个实现的。这个在你的DoDataExchange里面。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
虚函数...
基类里面有调用的函数在继承类中是虚函数,就执行继承类中的虚函数.
CDateExchange::Fail() 数据转换失败
基类里面有调用的函数在继承类中是虚函数,就执行继承类中的虚函数.
CDateExchange::Fail() 数据转换失败
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
很简单的问题,如果需要,可以写个例子给你。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询