mfc多列列表框怎么做

mfc多列列表框怎么做,第1张

用CListCtrl控件,一个WINDOWS标准控件。

设置列表框风格,LVS_REPORT就是你想要的。如果基于对话框资源可以直接在编辑器上加上LVS_REPORT风格,或者使用下面的代码来添加

m_wndWIAListModifyStyle(0, LVS_REPORT);

可以设置扩展风格、添加网格线、和整行选中

m_wndWIAListSetExtendedStyle(LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT);

接下来添加列

m_wndWIAListInsertColumn(0, "序号");

m_wndWIAListInsertColumn(1, "被考核单位");

m_wndWIAListInsertColumn(2, "单位人数");

m_wndWIAListInsertColumn(3, "指标责任人");

添加数据的时候用

wndWIAListInsertItem(nRow, strNo);

添加一行,并且把这行的第一列内容设置为strNo

要想设置这行其他的列

wndWIAListSetItemText(nRow, 1, "FV_DEP_NAME"));

这样就可以设置nRow行第2列的内容

然后设置一下宽度

int nCol(0);

while (m_wndWIAListSetColumnWidth(nCol++, LVSCW_AUTOSIZE_USEHEADER));

这是我的程序代码片段,有关获取鼠标点到列表框行列的代码,发给你参考下:

typedef pair<int,int> CellIndex; // Row, Column

// 当鼠标右键点击时有一个CPoint传给你,然后根据CPoint来获取列表框的行和列。

// 用HitTest函数即可获取。

CListCtrlEx::CellIndex CListCtrlEx::PointToIndex(const CPoint&point)

{

LVHITTESTINFO lvHitTestInfo;

CRect rect;

lvHitTestInfopt=point;

if(HitTest(&lvHitTestInfo)>=0||(SubItemHitTest(&lvHitTestInfo)>=0)&&lvHitTestInfoiItem>=0)

{

intnRow =lvHitTestInfoiItem;

intnColumnCount =GetColumnCount();

for(intnColumn=0;nColumn<nColumnCount;++nColumn)

{

if(GetCellRect(nRow,nColumn,rect))

{

if(rectPtInRect(point))

{

return make_pair(nRow,nColumn);

}

}

}

}

return make_pair(-1,-1);

}

MFC获取地图和GPS方法如下:

1、百度地图菜单里边有位置共享,点击位置共享,按提示 *** 作。

2、并给你要定位的朋友发一个邀请,如果对方手机等有可以进行定位的客户端,对方同意就能就能够实现定位。

3、或者,腾讯地图、谷歌地图(或者其他定位)软件有GPS定位系统的,下载并在对方同意下,也可以准确定位对方的位置了。

CWnd wnd = GetDesktopWindow()->GetWindow(GW_CHILD);

while(wnd!=NULL)

{

if(wnd->IsWindowVisible())

{

wnd->GetWindowText(s);//窗口名

GetClassName(wnd->m_hWnd,buff,1024);//类名

str+=s+" ";

}

wnd = wnd->GetWindow(GW_HWNDNEXT);

}

以上就是关于mfc多列列表框怎么做全部的内容,包括:mfc多列列表框怎么做、MFC单文档怎么获取列表控件的行数、mfc如何获取地图和gps等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9634626.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存