button的消息的奇怪问题。

wq_quake 2002-06-04 11:16:28
我在对话框中加了许多的Button,当按下其中之一Button时,发现响应的却是所有的OnButton()函数。即当你按下一个按钮时。响应消息的是对话框中所有的button 按下的消息。我想用SetCheck设置每个button被按下的状态。这样就不行了。那位兄弟姐妹帮看看,怎么屏蔽其他按钮的消息。
...全文
35 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zh2000 2002-06-05
  • 打赏
  • 举报
回复
你先单部调式看看。当按完BUTTON1时都执行哪些操作?
再按下BUTTON2时看看执行哪些操作?
pp_ipr 2002-06-05
  • 打赏
  • 举报
回复
奇怪!
up!
wq_quake 2002-06-05
  • 打赏
  • 举报
回复
绝对不是。我估计是setState函数造成的。每次按完了button1后,按其他按钮响应一次button1 button1弹起,再之后按别的按钮就不响应button1了。
Lightest 2002-06-05
  • 打赏
  • 举报
回复
在Resource.h中看看这几个按钮的ID是否被设置成相同的值了
wq_quake 2002-06-05
  • 打赏
  • 举报
回复
每次按完 button1时,在按button2十都要响应一下button1我真受不了。如果这样的话那么这必定是个大的bug
wq_quake 2002-06-05
  • 打赏
  • 举报
回复
DDX_Control(pDX, IDC_BUTTON_CHANNEL_9, m_ctlChannel9);
DDX_Control(pDX, IDC_BUTTON_CHANNEL_8, m_ctlChannel8);
DDX_Control(pDX, IDC_BUTTON_CHANNEL_7, m_ctlChannel7);
DDX_Control(pDX, IDC_BUTTON_CHANNEL_6, m_ctlChannel6);
DDX_Control(pDX, IDC_BUTTON_CHANNEL_5, m_ctlChannel5);
DDX_Control(pDX, IDC_BUTTON_CHANNEL_4, m_ctlChannel4);
DDX_Control(pDX, IDC_BUTTON_CHANNEL_3, m_ctlChannel3);
DDX_Control(pDX, IDC_BUTTON_CHANNEL_24, m_ctlChannel24);
ON_BN_CLICKED(IDC_BUTTON_CHANNEL_1, OnButtonChannel1)
ON_BN_CLICKED(IDC_BUTTON_CHANNEL_10, OnButtonChannel10)
ON_BN_CLICKED(IDC_BUTTON_CHANNEL_11, OnButtonChannel11)
ON_BN_CLICKED(IDC_BUTTON_CHANNEL_12, OnButtonChannel12)
ON_BN_CLICKED(IDC_BUTTON_CHANNEL_13, OnButtonChannel13)
ON_BN_CLICKED(IDC_BUTTON_CHANNEL_14, OnButtonChannel14)
ON_BN_CLICKED(IDC_BUTTON_CHANNEL_15, OnButtonChannel15)
void CSelectDialog::OnButtonChannel1()
{
// TODO: Add your control notification handler code here
MessageBox ( "Hello " );
if ( m_bState[0] )
{
m_ctlChannel1.SetState ( FALSE );
m_bState[0] = false;
}
else //
{
m_ctlChannel1.SetState ( TRUE );
m_bState[0] = true;
}
}

void CSelectDialog::OnButtonChannel10()
{
// TODO: Add your control notification handler code here
MessageBox ( "Hello " );
if ( m_bState[9] )
{
m_ctlChannel10.SetState ( FALSE );
m_bState[9] = false;
}
else //
{
m_ctlChannel10.SetState ( TRUE );
m_bState[9] = true;
}
}

discovery 2002-06-04
  • 打赏
  • 举报
回复
把源码贴出来看看
通常对应button1为OnButton1,对应button2为OnButton2...
你可以用DDX来做,即增加成员变量

16,471

社区成员

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

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

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