clistctrl 中的函数insercolumn

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了clistctrl 中的函数insercolumn相关的知识,希望对你有一定的参考价值。

insertcolumn函数中是不是有四个参数?
其中第三个参数是描述什么的?
我知道LVCFMT_CENTER可以作为第三个参数,好像是居中的意思,不知还有哪些这样的数可作为第三个参数?
还有LVCFMT_CENTER怎么记啊,他是什么英文的缩写啊?
怎么用MSDN查找啊,老听别人说,可是不会用啊
我用的是VC 6.0,点哪个啊?

你的理解是对的,就是居中,还有比如居左是LVCFMT_LEFT。

对于这个参数怎么记忆,我也是自己的想法啊,这个LV是指ListView,至于CFMT应该是“对齐方式”的缩写。

这些其实在msdn上都有的,不一定非要记下来的,用的时候在msdn里复制粘贴一下就行了。

msdn其实就是一个帮助文档,到处都有下载的,你在迅雷里搜msdn就会看到很多的了
参考技术A LC

CLISTCTRL 获取点击列

CListCtrl中的HitTest、SubItemHitTest的用法  


2HitTest:得到当前鼠标位置的Item


其实关键是要有ScreenToClient这个函数的使用,我先前没有用这个函数,HitTest老是返回-1,搞得我都头大了。不过这个不能用于SubItem,那应该要用SubItemHitTest


LVHITTESTINFO ht ;


GetCursorPos(&(ht.pt)) ;


m_friendList.ScreenToClient(&ht.pt) ;


m_friendList.HitTest(&ht) ;


 if(ht.iItem == -1) //检查是否有item选中


      return  ;


SubItemHitTest:


void   CTest6Dlg::OnClickList1(NMHDR*   pNMHDR,   LRESULT*   pResult)   

/****************************************/ 
/*       确定单击的listctrl的行列号   方法1       */ 
/****************************************/ 


/* 
DWORD   dwPos   =   GetMessagePos(); 
CPoint   point(   LOWORD(dwPos),   HIWORD(dwPos)   ); 


m_list.ScreenToClient(&point);   


LVHITTESTINFO   lvinfo; 
        lvinfo.pt   =   point; 
        lvinfo.flags   =   LVHT_ABOVE; 
        
int   nItem   =   m_list.SubItemHitTest(&lvinfo); 
if(nItem   !=   -1) 

CString   strtemp; 
strtemp.Format( "单击的是第%d行第%d列 ",   lvinfo.iItem,   lvinfo.iSubItem); 

*pResult   =   0; 
}

以上是关于clistctrl 中的函数insercolumn的主要内容,如果未能解决你的问题,请参考以下文章

CLISTCTRL 获取点击列

自绘CListCtrl类,重载虚函数DrawItem

VC改变CListCtrl 表格中文字颜色,和背景颜色。

禁用 CListCtrl 中的复选框 (LVITEM)

在 CEdit 文本更改时选择 CListCtrl 中的项目

CListCtrl 中的水印图像