| 查看: 241 | 回复: 0 | ||
[求助]
列表控件Create()动态创建,不能选中行,表头颜色也不能改变?
|
|
列表控件Create()动态创建,不能选中行,表头颜色也不能改变?如果从工具箱加列表控件,效果就很好,为什么? 我想动态添加List Control, 根据需要动态设置控件的大小,但遇到下面的问题,请指点! 我在论坛里下载了“VC+CListCtr列表控件特效”的控件,类名位,CListCtrlCL,感觉挺好的,我通过 DWORD dwExStyle=GetWindowLong(m_hWnd, GWL_EXSTYLE); SetWindowLong(m_hWnd, GWL_EXSTYLE, dwExStyle|0x80000); SetWindowLong(m_hWnd,GWL_EXSTYLE,WS_EX_LAYERED); SetLayeredWindowAttributes(RGB(156,135,216),100,LWA_ALPHA); 把对话框设置成半透明,然后在对话框中添加了列表控件,并添加了对应的CListCtrlCL变量listTagets, m_listTagets.SetColColor(0,RGB(10,150,20)); //设置列背景色 m_listTagets.SetColColor(2,RGB(30,100,90)); //设置列背景色 m_listTagets.SetBkColor(RGB(50,10,10)); //设置背景色 m_listTagets.SetItemColor(1,1,RGB(100,100,10)); //设置指定单元背景色 m_listTagets.SetRowHeigt(25); //设置行高度 m_listTagets.SetHeaderHeight(1.5); //设置头部高度 m_listTagets.SetHeaderFontHW(16,0); //设置头部字体高度,和宽度,0表示缺省,自适应 m_listTagets.SetHeaderTextColor(RGB(255,200,100)); //设置头部字体颜色 m_listTagets.SetTextColor(RGB(0,255,255)); //设置文本颜色 m_listTagets.SetHeaderBKColor(100,255,100,8); //设置头部背景色 m_listTagets.SetFontHW(15,0); //设置字体高度,和宽度,0表示缺省宽度 m_listTagets.SetColTextColor(2,RGB(255,255,100)); //设置列文本颜色 m_listTagets.SetItemTextColor(3,1,RGB(255,0,0)); //设置单元格字体颜色 m_listTagets.InsertColumn(0,_T("名字" ),LVCFMT_CENTER,55); m_listTagets.InsertColumn(1,_T("身高" ),LVCFMT_CENTER,60); m_listTagets.InsertColumn(2,_T("体重" ),LVCFMT_CENTER,60); m_listTagets.InsertColumn(3,_T("测量时间" ),LVCFMT_CENTER,180); m_listTagets.InsertItem(0,"张三" ); m_listTagets.SetItemText(0,1,"178CM" ); m_listTagets.SetItemText(0,2,"70KG" ); m_listTagets.SetItemText(0,3,"2009年1月15日23时40分" ); m_listTagets.InsertItem(1,"王五" ); m_listTagets.SetItemText(1,1,"178cm" ); m_listTagets.SetItemText(1,2,"70kg" ); m_listTagets.SetItemText(1,3,"2009年1月15日23时40分" ); m_listTagets.InsertItem(2,"阿花" ); m_listTagets.SetItemText(2,1,"168cm" ); m_listTagets.SetItemText(2,2,"60kg" ); m_listTagets.SetItemText(2,3,"2009年1月15日23时40分" ); SetWindowLong(m_listTagets.m_hWnd ,GWL_EXSTYLE,WS_EX_CLIENTEDGE); m_listTagets.SetExtendedStyle(LVS_EX_GRIDLINES); //设置扩展风格为网格 ::SendMessage(m_listTagets.m_hWnd, LVM_SETEXTENDEDLISTVIEWSTYLE, LVS_EX_FULLROWSELECT, LVS_EX_FULLROWSELECT); 运行后能看到表头、背景、单元格、各列的颜色都是上面设置的值。 但是通过Create函数动态创建的CListCtrlCL变量, m_listTagets.Create( WS_CHILD|WS_VISIBLE|WS_BORDER|LVS_REPORT|LVS_EDITLABELS|LVS_ALIGNLEFT, CRect(0,0,m_nDialogWidth,m_nDialogHeight), this, IDC_TARGETS_LIST); 然后加上上面添加数据的代码,结果出现的列表里字都是黑色的,并且不能选中整行,单个单元格也不能选中,水平滚动条也不能拖动。 通过加LVS_SHOWSELALWAYS和LVS_OWNERDRAWFIXED样式后,水平滚动条可以拖动了,除表头后的文字都可以彩色,背景也是指定的颜色,可表头(第一行)还是黑色的,并且不能选中整行,单个单元格也不能选中。 请问这个表头的字体颜色为什么都没有成为指定的颜色?添加了FULLROWSELECT,为什么不能选中整行?[ Last edited by jjdg on 2013-1-23 at 13:01 ] |
» 本帖附件资源列表
-
欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com - 附件 1 : VC+CListCtr列表控件特效.7z
2013-01-23 00:38:37, 37.66 K
» 猜你喜欢
拟解决的关键科学问题还要不要写
已经有8人回复
为什么nbs上溴 没有产物点出现呢
已经有6人回复
求推荐博导
已经有4人回复
存款400万可以在学校里躺平吗
已经有34人回复
求助一下有机合成大神
已经有4人回复
最失望的一年
已经有16人回复
求推荐英文EI期刊
已经有5人回复
26申博
已经有3人回复
基金委咋了?2026年的指南还没有出来?
已经有10人回复
疑惑?
已经有5人回复














回复此楼