要实现此功能,需要处理两个消息:
在WM_TODAYCUSTOM_QUERYREFRESHCACHE中,将TODAYLISTITEM 结构体的dwSelectability成员变量设为1(系统自动处理)/2(自己处理),我自己设置的是1。有网友说把dwSelectability设为2就是为了解决按上下键选择条目时的未反色问题。关于反色及字体颜色问题,MOBILE5.0和MOBILE6.0系统的做法是不同的,在MOBILE6中设置不同的主题对应选中的反色后字体颜色是不同的,MOBILE5好像就没有这中设置。有兴趣的朋友的可以试一试。
在WM_TODAYCUSTOM_USERNAVIGATION处直接返回FALSE;使系统进行其他操作。
关于字体的大小,只能获取不能改变。上篇提供的两个例子中都有,还有下面的代码也可以获取字体大小:
LOGFONT lf;
memset(&lf,0,sizeof(LOGFONT));
int iFontSizePixel;
SHGetUIMetrics(SHUIM_FONTSIZE_PIXEL,&iFontSizePixel, sizeof(iFontSizePixel), NULL);
lf.lfHeight = -iFontSizePixel;
HFONT hNewFont = CreateFontIndirect(&lf);
HGDIOBJ hOldFont = SelectObject(hdc, hNewFont);