clistctrl 中的函数insercolumn
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了clistctrl 中的函数insercolumn相关的知识,希望对你有一定的参考价值。
insertcolumn函数中是不是有四个参数?
其中第三个参数是描述什么的?
我知道LVCFMT_CENTER可以作为第三个参数,好像是居中的意思,不知还有哪些这样的数可作为第三个参数?
还有LVCFMT_CENTER怎么记啊,他是什么英文的缩写啊?
怎么用MSDN查找啊,老听别人说,可是不会用啊
我用的是VC 6.0,点哪个啊?
对于这个参数怎么记忆,我也是自己的想法啊,这个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的主要内容,如果未能解决你的问题,请参考以下文章