参考:http://topic.csdn.net/t/20050526/12/4037045.html #6楼
@desc
通过编辑框修改日期时,该方法被调用一次
通过弹出日历框修改日期时,该方法被调用两次
*/
void CTestDlg::OnDatetimechangeDatetimepicker1(NMHDR* pNMHDR, LRESULT* pResult)
{
LPNMDATETIMECHANGE pDTChange = reinterpret_cast<LPNMDATETIMECHANGE>(pNMHDR);
*pResult = 0;
static bool bMoCalOk = true;
//判断是否有CMonthCalCtrl,若有会发送两次Change,截第二次即可
CMonthCalCtrl* pMoCalCtrl = m_CurTimeCtrl.GetMonthCalCtrl();
if (pMoCalCtrl != NULL)
{
bMoCalOk = !bMoCalOk;
}
if (!bMoCalOk)
{
return;
}
//执行自己的代码
}
背景:通过日历弹出框修改日期是,DTN_DATETIMECHANGE消息响应两次,需要只截获一次即可。
@desc
通过编辑框修改日期时,该方法被调用一次
通过弹出日历框修改日期时,该方法被调用两次
*/
void CTestDlg::OnDatetimechangeDatetimepicker1(NMHDR* pNMHDR, LRESULT* pResult)
{
LPNMDATETIMECHANGE pDTChange = reinterpret_cast<LPNMDATETIMECHANGE>(pNMHDR);
*pResult = 0;
static bool bMoCalOk = true;
//判断是否有CMonthCalCtrl,若有会发送两次Change,截第二次即可
CMonthCalCtrl* pMoCalCtrl = m_CurTimeCtrl.GetMonthCalCtrl();
if (pMoCalCtrl != NULL)
{
bMoCalOk = !bMoCalOk;
}
if (!bMoCalOk)
{
return;
}
//执行自己的代码
}