同一控件不同能同时关联两个不同的变量吗?

yeyuanzhi2010 2009-08-07 09:24:04
1、我下载了一个自绘Silder源码,其中IDC_SLD_AUDIO是Silder控件,它与m_silder变量关联DX_Control(pDX, IDC_SLIDER_SHARE2, m_silder);这里的m_silder是CBitSlider类。
2、现在我想利用这个Silder控件来控制音量,又要与控制音量的CMixerFader的类进行关联。 为此我是这样处理的:
在头文件中:
CMixerFader m_mainVolume;
在cpp文件中利用下面的方法调用:
m_mainVolume.SubclassDlgItem( IDC_SLD_AUDIO, this);
m_mainVolume.Init( MIXERLINE_COMPONENTTYPE_DST_SPEAKERS,
NO_SOURCE,
MIXERCONTROL_CONTROLTYPE_VOLUME,
CMixerFader::MAIN );
但是运行程序崩溃。请问:同一控件不同能同时关联两个不同的变量吗?怎么解决这个问题?谢谢!!
...全文
255 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
xml细尾 2012-01-16
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 panweiguozhou 的回复:]

可以关联N多个,但是同时只能有一个是有效的。
[/Quote]
这个是对的,我刚刚试验过,一个按钮关联了CBUTTON类的变量m_cbutton,且关联了我自定义的mybutton类的变量m_button,但是,只有一个效
qzq8050982 2011-11-30
  • 打赏
  • 举报
回复
都是高手啊···小弟学习了
  • 打赏
  • 举报
回复
可以关联N多个,但是同时只能有一个是有效的。
逸萌 2009-08-08
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 heksn 的回复:]
只能是一个控件型变量 一个是值变量
[/Quote]
就可以满足你的要求了
MoXiaoRab 2009-08-08
  • 打赏
  • 举报
回复
为什么不用一个指向它的指针进行操作呢?为什么非要关联变量呢
yeyuanzhi2000 2009-08-08
  • 打赏
  • 举报
回复
不好意思,多贴了m_mainVolume.SubclassDlgItem( IDC_SLD_AUDIO, this); 这一句,不要!!
yeyuanzhi2000 2009-08-08
  • 打赏
  • 举报
回复

这样行不行?把CSlider控件的变量值直接传递给m_mainVolume不知行不行?代码如下:
BOOL CConferenceDialog::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult)
{
CString lpszValue;
NMHDR *pParam = reinterpret_cast <NMHDR*>(lParam);
if(pParam->hwndFrom == m_slider.m_hWnd)
{
int value = m_slider.GetPos();
m_mainVolume.SetPos(value);
lpszValue.Format("%d",value);

}
return CDialog::OnNotify(wParam, lParam, pResult);
}
然后再这样控制音量:

CMixerFader m_mainVolume;
在cpp文件中利用下面的方法调用:
m_mainVolume.SubclassDlgItem( IDC_SLD_AUDIO, this);
m_mainVolume.Init( MIXERLINE_COMPONENTTYPE_DST_SPEAKERS,
NO_SOURCE,
MIXERCONTROL_CONTROLTYPE_VOLUME,
CMixerFader::MAIN );
xy_dream 2009-08-08
  • 打赏
  • 举报
回复
不能关联两个同类型的变量,要么一个Control,一个Value型的才行
zhuzhenlei 2009-08-08
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 heksn 的回复:]
只能是一个控件型变量 一个是值变量
[/Quote]
。。
yeyuanzhi2010 2009-08-08
  • 打赏
  • 举报
回复
一方面要让它自绘好看,一方面要让它控制音量。那怎么解决这个问题?
scsnsjsl_cs_dn 2009-08-08
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 heksn 的回复:]
只能是一个控件型变量 一个是值变量
[/Quote]
  • 打赏
  • 举报
回复
只能是一个控件型变量 一个是值变量
metaboy 2009-08-07
  • 打赏
  • 举报
回复
你要实现的功能肯定不能像你那么关联,同一控件不能关联到两个变量!
MoXiaoRab 2009-08-07
  • 打赏
  • 举报
回复
关联2个变量是可以的。
一个Control类型,一个Value类型。
其他情况就不可以了
见习学术士 2009-08-07
  • 打赏
  • 举报
回复
同一控件不同能同时关联两个不同的变量吗。

这个肯定是不可以的

16,471

社区成员

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

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

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