作者:金鸽
欢迎访问 sinodragon21.cublog.cn
┌─────────────────────────┐
│┌─┐ ┌───────┐ ┌─┐|
││+│ | 显示 / 隐藏 │ │-||----Container
│└─┘ └───────┘ └─┘|
└─────────────────────────┘
当 “显示/隐藏Button”被SetVisible(False)时,“+”和“-”号都接收不到 点击自己的事件event,调查原因,是因为点击“+”“-”号的事件都被“显示/隐藏Button”截获并丢弃了。
由于Container中包含3个元素,分别是:
Ø “+”号
Ø “-”号
Ø “显示/隐藏Button”
Container的事件响应函数体中,实现方式只能是顺序依次调用各个子控件的事件响应函数,
注意点:调用某个控件的事件响应函数之前,要且必须要 经过2次判断:
1.
NULL != pCompoment
2.
pComponent->IsVisible()
错误的控件使用方法:
Bool Container::EventProcessor()
{
if(NULL != pShowHideButton)
{
pShowHideButton->EventProcessor();
return TRUE;
}
if(NULL != pPlusButton)
{
pPlusButton ->EventProcessor();
return TRUE;
}
if(NULL != pMinusButton)
{
pMinusButton ->EventProcessor();
return TRUE;
}
... ...
}
|
正确的控件使用方法:Bool Container::EventProcessor()
{
if((NULL != pShowHideButton) && (pShowHideButton->IsVisible()))
{
pShowHideButton->EventProcessor();
return TRUE;
}
if((NULL != pPlusButton) && (pPlusButton->IsVisible()))
{
pPlusButton->EventProcessor();
return TRUE;
}
if((NULL != pMinusButton) && (pPlusButton->IsVisible()))
{
pMinusButton->EventProcessor();
return TRUE;
}
... ...
}
|
阅读(778) | 评论(0) | 转发(0) |