13,825
社区成员
发帖
与我相关
我的任务
分享
void CAlDlg::ListctrlInit(void)
{
//获得原有风格
DWORD dwStyle = ::GetWindowLong(m_listctrl.m_hWnd, GWL_STYLE);
dwStyle &= ~(LVS_TYPEMASK);
dwStyle &= ~(LVS_EDITLABELS);
//设置新风格
SetWindowLong(m_listctrl.m_hWnd, GWL_STYLE,(dwStyle|LVS_REPORT | LVS_NOLABELWRAP | LVS_SHOWSELALWAYS));
//设置扩展风格
DWORD styles = LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES/*|LVS_EX_CHECKBOXES*/;
ListView_SetExtendedListViewStyle(m_listctrl.m_hWnd, styles);
//HWND h_wnd = m_listctrl.m_hWnd;
//其中LVS_EX_FULLROWSELECT 就是前面说得整行选中
//LVS_EX_GRIDLINES 网格线(只适用与report风格的listctrl)
//LVS_EX_CHECKBOXES 前面加个checkbox
m_listctrl.SetExtendedStyle( m_listctrl.GetExtendedStyle() | LVS_EX_SUBITEMIMAGES);
CString strCap(_T(""));
m_listctrl.DeleteAllItems();//清空
strCap = "序号";
m_listctrl.InsertColumn(0,strCap);//添加列
m_listctrl.InsertColumn(1,_T("问题"));
m_listctrl.InsertColumn(2,_T("回答"));
m_listctrl.SetColumnWidth(0, 50);//设置列宽
m_listctrl.SetColumnWidth(1, 180);
m_listctrl.SetColumnWidth(2, 180);
m_listctrl.SetRedraw(FALSE);//防止重绘
m_listctrl.SetRedraw(TRUE);//显示
}
List Control初始化代码,使用VS2010(已安装SP1补丁)编译乱码 ,