制作个性列表
来源:互联网 发布:js 5秒倒计时 编辑:程序博客网 时间:2024/04/29 12:32
1、添加新类,基类是ClistCtrl
class NL_ListCtrl : public CListCtrl
{...}
2、添加修改背景函数
BOOL NL_ListCtrl::OnEraseBkgnd(CDC* pDC)
{
CRect rect;
GetClientRect(rect);
pDC->FillRect(rect,&m_brush);
return true;
//return CListCtrl::OnEraseBkgnd(pDC);
//去掉这个才有效
}
3、添加成员函数
void NL_ListCtrl::PreSubclassWindow()
{
DWORD lcStyle;
lcStyle=GetStyle();
lcStyle|=LVS_REPORT|
LVS_SINGLESEL|
LVS_SHOWSELALWAYS|
LVS_OWNERDRAWFIXED; //窗口所有者进行操作 制作个性列表必须得有 发送 WM_DRAWITEM消息
lcStyle&=~LVS_EDITLABELS;
ModifyStyle(0,lcStyle);
CListCtrl::PreSubclassWindow();
}
4、重新修改虚拟函数 DrawItem(LPDRAWITEMSTRUCT lpDIS),而不是 OnDrawItem(...)
OnDrawItem(...)是消息响应函数,而不是处理函数
virtual void DrawItem(LPDRAWITEMSTRUCT lpDIS);
{
//在这里进行修改显示特性,主要用的函数有以下
//GetHeaderCtrl
//GetItemCount;
//GetColumnWidth;
//SetColumnWidth
//GetItemRect
//GetItem
//GetItemText
lpDIS->itemID;//当前项目号
lpDIS->rcItem;//当前项目的区域
//是否有选择
BOOL bFocus=(GetFocus()==this);
BOOL bSelected=(lvi.state&LVIS_SELECTED &&
(GetStyle()&LVS_SHOWSELALWAYS));
bSelected=bSelected||(lvi.state&LVIS_DROPHILITED);
}
5、如果修改头的外观请使用CHeaderCtrl,操作类似与上面
CButton
CCHeckListBox
CComboBox
CHeaderCtrl
CListBox
CMenu
CStatusBar
CStatusBarCtrl
CTabCtrl
- 制作个性列表
- 制作个性光盘
- 个性EmailDIY!(zeo制作)
- C# 制作个性签名
- 热转印个性胸章制作
- 制作个性的图片签名
- 制作个性的启动菜单
- 制作漂亮的个性文件夹
- jquery制作的个性网站
- 制作U盘/MP3的个性图标。
- 教你制作个性大头贴
- Photoshop制作动感人物个性签名教程
- 自己制作个性闹钟(win32 SDK)
- 定制个性ROM,外加制作加刷包教程
- php Imagick制作个性二维码的方法
- 个性
- 个性
- 个性
- 不知道是好事还是坏事
- 邮件服务器论坛精华帖(4)
- MD5算法研究(good)
- (轉摘)在BLOG配置個天氣預報!
- The Object Primer
- 制作个性列表
- 使用通用IO端口模拟I2C总线
- 邮件服务器论坛精华帖(5)
- 邮件技术文章全集
- 有关实例化及运行窗体的问题
- 工作流:形参,实参,相关数据
- 工作流:第一次发版,过程总结
- 在aspx页面中直接绑定代码文件中的变量
- 工作流:第一次发版,设计总结