程序首先添加数据库:将界面信息加入:
if(!rst.IsOpen()) rst.Open();
else rst.Requery();
rst.AddNew();
rst.m_center_id = m_center_id;
rst.m_bright = m_bright ;
rst.m_color = m_color ;
rst.m_contrast = m_contrast ;
rst.m_hue = m_hue;
rst.m_quantizer = m_quantizer;
rst.m_frame_size = m_frame_size ;
rst.Update();
rst.Close();
if(!rst.IsOpen()) rst.Open();
rst.m_strFilter.Empty();
rst.Requery();
rst.MoveLast();
m_vpc_id = rst.m_vp2000c_id;
获取新加入项的id号,以下为对树形结构的添加操作:
HTREEITEM hSelected = m_TreeCtrl->GetSelectedItem();
TV_ITEM item;
char text[21];
item.mask = TVIF_HANDLE | TVIF_TEXT|TVIF_IMAGE|TVIF_PARAM;
item.hItem = hSelected;
item.pszText = text;
item.cchTextMax = 20;
if(hSelected == NULL) return ;
VERIFY(m_TreeCtrl->GetItem(&item)); vt_vp2k_info.SetAddFlag(TRUE);
vt_vp2k_info.SetCenterId( item.lParam ); if( vt_vp2k_info.DoModal() == IDOK)//vt_vp2k_info为对应数据库类
{
// m_TreeCtrl->Expand( hSelected , TVE_EXPAND); TV_INSERTSTRUCT tvinsert;
tvinsert.hParent = hSelected ;
tvinsert.hInsertAfter = TVI_LAST;
tvinsert.item.mask = TVIF_IMAGE | TVIF_TEXT|TVIF_PARAM|TVIF_SELECTEDIMAGE|TVIF_CHILDREN;
tvinsert.item.hItem = NULL;
tvinsert.item.state = 0;
tvinsert.item.stateMask = 0;
tvinsert.item.cchTextMax = 20;
tvinsert.item.cChildren = 0; CString temp;
temp.Format("远端站 %s",vt_vp2k_info.m_attr) ;
tvinsert.item.pszText= (char*)((LPCTSTR)temp);//vt_vp2k_info.m_attr2) ;/*item desp*/
tvinsert.item.iImage = TV_STATION ;
tvinsert.item.iSelectedImage = TV_STATION ;
tvinsert.item.lParam = vt_vp2k_info.m_vpc_id; ; /* item id */
tvinsert.item.cChildren = 1 ; m_TreeCtrl->InsertItem(&tvinsert);
m_TreeCtrl->Expand( hSelected , TVE_COLLAPSE);
m_TreeCtrl->Expand( hSelected , TVE_EXPAND);
}
大致情况是这样。
假如此段代码 rst.Update();
rst.Close();
if(!rst.IsOpen()) rst.Open();
rst.m_strFilter.Empty();
rst.Requery();
就出现上述情况,若删除又无法给item.lParam = vt_vp2k_info.m_vpc_id; 正确的号,树形结构
画的不对。
注:此种情况仅在第一次添加时出现。
if(!rst.IsOpen()) rst.Open();
else rst.Requery();
rst.AddNew();
rst.m_center_id = m_center_id;
rst.m_bright = m_bright ;
rst.m_color = m_color ;
rst.m_contrast = m_contrast ;
rst.m_hue = m_hue;
rst.m_quantizer = m_quantizer;
rst.m_frame_size = m_frame_size ;
rst.Update();
rst.Close();
if(!rst.IsOpen()) rst.Open();
rst.m_strFilter.Empty();
rst.Requery();
rst.MoveLast();
m_vpc_id = rst.m_vp2000c_id;
获取新加入项的id号,以下为对树形结构的添加操作:
HTREEITEM hSelected = m_TreeCtrl->GetSelectedItem();
TV_ITEM item;
char text[21];
item.mask = TVIF_HANDLE | TVIF_TEXT|TVIF_IMAGE|TVIF_PARAM;
item.hItem = hSelected;
item.pszText = text;
item.cchTextMax = 20;
if(hSelected == NULL) return ;
VERIFY(m_TreeCtrl->GetItem(&item)); vt_vp2k_info.SetAddFlag(TRUE);
vt_vp2k_info.SetCenterId( item.lParam ); if( vt_vp2k_info.DoModal() == IDOK)//vt_vp2k_info为对应数据库类
{
// m_TreeCtrl->Expand( hSelected , TVE_EXPAND); TV_INSERTSTRUCT tvinsert;
tvinsert.hParent = hSelected ;
tvinsert.hInsertAfter = TVI_LAST;
tvinsert.item.mask = TVIF_IMAGE | TVIF_TEXT|TVIF_PARAM|TVIF_SELECTEDIMAGE|TVIF_CHILDREN;
tvinsert.item.hItem = NULL;
tvinsert.item.state = 0;
tvinsert.item.stateMask = 0;
tvinsert.item.cchTextMax = 20;
tvinsert.item.cChildren = 0; CString temp;
temp.Format("远端站 %s",vt_vp2k_info.m_attr) ;
tvinsert.item.pszText= (char*)((LPCTSTR)temp);//vt_vp2k_info.m_attr2) ;/*item desp*/
tvinsert.item.iImage = TV_STATION ;
tvinsert.item.iSelectedImage = TV_STATION ;
tvinsert.item.lParam = vt_vp2k_info.m_vpc_id; ; /* item id */
tvinsert.item.cChildren = 1 ; m_TreeCtrl->InsertItem(&tvinsert);
m_TreeCtrl->Expand( hSelected , TVE_COLLAPSE);
m_TreeCtrl->Expand( hSelected , TVE_EXPAND);
}
大致情况是这样。
假如此段代码 rst.Update();
rst.Close();
if(!rst.IsOpen()) rst.Open();
rst.m_strFilter.Empty();
rst.Requery();
就出现上述情况,若删除又无法给item.lParam = vt_vp2k_info.m_vpc_id; 正确的号,树形结构
画的不对。
注:此种情况仅在第一次添加时出现。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货