栅格数据有属性表和颜色表,属性表描述了像素值和该值代表的内容,同时对应颜色表,表示某一个值对应的颜色(如下图1)。ArcGIS中提供了对属性表和对应颜色编辑的功能(如下图2)。
我们软件用MFC开发的,发现ListCtrl控件实在不好用,网上有很多重写的demo,没有找到合适的,于是按照功能自己重新写了一个。
之前没自己写过控件,觉得很复杂。。。
主要是实现某一列单元格可编辑,网上看了一下,思路是双击那一列的时候,出现一个EditCtrl控件,输入值,按了enter键后,把EditCtrl控件的值保存到listctrl那一列中。
下面就是双击后,生成edit控件,然后再双击的地方出现,感觉就好像单元格可编辑一样。
void CEditListCtrl::OnLButtonDblClk(UINT nFlags, CPoint point)
{
LVHITTESTINFO hi;
hi.pt = point;
int n = SubItemHitTest(&hi);
if(n != -1)
{
// 不编辑1/2/3列
if(hi.iSubItem == 1 || hi.iSubIt