CDateTimeCtrl下拉日历设置问题

贪玩的老鼠 贪玩的老鼠 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我想在CDateTimeCtrl的下拉日历中设置某些天字体为粗体,可是没成功.

发现设置日历的MCS_DAYSTATE属性总是不成功!

具体代码如下:

void CXXXDlg::OnDtnDropdownDatetimepicker1(NMHDR *pNMHDR, LRESULT *pResult)
{
// TODO: 在此添加控件通知处理程序代码
CMonthCalCtrl* pMoCalCtrl = m_DateTimeCtrl.GetMonthCalCtrl();
if (pMoCalCtrl)
{
pMoCalCtrl->ModifyStyle(0,MCS_DAYSTATE,MCS_DAYSTATE);//设置没起作用
SYSTEMTIME timeFrom;
SYSTEMTIME timeUntil;

int nCount = pMoCalCtrl->GetMonthRange(&timeFrom, &timeUntil, GMR_DAYSTATE);

// Allocate the state array based on the return value.

LPMONTHDAYSTATE pDayState;
pDayState = new MONTHDAYSTATE[nCount];
memset(pDayState, 0, sizeof(MONTHDAYSTATE) * nCount);
int nIndex = (timeFrom.wDay == 1) ? 0 : 1;
pDayState[nIndex] |= 1 << 3;
pDayState[nIndex] |= 1 << 18;
pDayState[nIndex] |= 1 << 25;
if (pMoCalCtrl->GetStyle()&MCS_DAYSTATE)
{
pMoCalCtrl->SetDayState(nCount, pDayState);
}
delete [] pDayState
}
*pResult = 0;
}
...全文
评论 17
收藏 已收藏
分享
返回顶部
贪玩的老鼠
VC/MFC 16,550 成员 421,606 内容