由于要在Windows mobile中做一个变电站巡检系统,需要显示附件中的样式,可是搞了好几天没有头绪
我试着用在clistctrl中加入checkbox样式,可是从Windows mobile中虽然能正确显示,可是处理HDN_ITEMCHANGED消息时,下面的代码是编译不通过的~~
void CfuckDlg::OnHdnItemchangedList2(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMHEADER phdr = reinterpret_cast(pNMHDR);
// TODO: 在此添加控件通知处理程序代码
LPNMITEMACTIVATE pNMLV = (LPNMITEMACTIVATE)pNMHDR;
if((pNMLV->uOldState & INDEXTOSTATEIMAGEMASK(1)) /* old state : unchecked */
&& (pNMLV->uNewState & INDEXTOSTATEIMAGEMASK(2)) /* new state : checked */
)
{
TRACE("Item %d is checked\n", pNMLV->iItem);
}
else if((pNMLV->uOldState & INDEXTOSTATEIMAGEMASK(2)) /* old state : checked */
&& (pNMLV->uNewState & INDEXTOSTATEIMAGEMASK(1)) /* new state : unchecked */
)
{
TRACE("Item %d is unchecked\n", pNMLV->iItem);
}
else
{
TRACE("Item %d does't change the check-status\n", pNMLV->iItem);
}
MessageBox(_T("good"));
*pResult = 0;
}
//LPNMHEADER提示未声明的标识符,貌似从Windows mobile中不支持处理这个checkbox.有人知道怎么解决吗?
一看到MFC我就晕,对那玩意不熟,都是WIN32 SDK打天下的,帮顶。
如果是我的话,我会自定义一个自己的CLISTBOX类来实现。