字体设置
LOGFONT lf;
lf.lfHeight = 20;
lf.lfWidth = 0;
lf.lfEscapement = 0;
lf.lfOrientation = 0;
lf.lfWeight = FW_HEAVY;
lf.lfItalic = false;
lf.lfUnderline = false;
lf.lfStrikeOut = false;
lf.lfCharSet = GB2312_CHARSET;
StrCpyW(lf.lfFaceName, L"我的隶书");
CFont m_font;
m_font.CreateFontIndirect(&lf);
光标点击时列表subitem索引获取
wm_lbuttondown等鼠标消息中
LVHITTESTINFO info;
info.pt = point;//point为光标位置(参考坐标系为client)
info.flags = LVHT_ONITEMLABEL;
if (self_list->SubItemHitTest(&info) > -1)//self_list为CListCtrl
{
int iitem = info.iItem;
int isubitem = info.iSubItem;
};
ScrollBar响应函数
wm_vscroll中
SCROLLINFO scrollinfo;
GetScrollInfo(SB_VERT, &scrollinfo, SIF_ALL);
switch (nSBCode)
{
case SB_LINEUP: //单击上箭头
scrollinfo.nPos -=80;
if (scrollinfo.nPos < scrollinfo.nMin)
{
scrollinfo.nPos = scrollinfo.nMin;
break;
}
SetScrollInfo(SB_VERT, &scrollinfo, SIF_ALL);
ScrollWindow(0, 80);
break;
case SB_LINEDOWN: //单击下箭头
scrollinfo.nPos += 80;
if (scrollinfo.nPos > scrollinfo.nMax)
{
scrollinfo.nPos = scrollinfo.nMax;
break;
}
SetScrollInfo(SB_VERT, &scrollinfo, SIF_ALL);
ScrollWindow(0, -80);
break;
case SB_THUMBTRACK: //拖动滑块
ScrollWindow(0, (scrollinfo.nPos - nPos) * 10);
scrollinfo.nPos = nPos;
SetScrollInfo(SB_VERT, &scrollinfo, SIF_ALL);
break;
}
菜单项checked、uncheked
CMenu* menu = AfxGetMainWnd()->GetMenu();
menu->CheckMenuItem(menuresouce_id, MF_UNCHECKED);