高分求教!flexgrid上的CEdit控件数据刷新问题,解决问题上给分!
void CUpdateView::OnClickMsflexgrid()
{
CRect rect;
m_FlexGrid.GetWindowRect (&rect);
int x,y,h,w;
x=MulDiv(m_nLogX,rect.left,1440)
+MulDiv(m_nLogX,m_FlexGrid.GetCellLeft (),1440)
+int(1.5*10); //调整值,视图中的left
y=MulDiv(m_nLogY,rect.top,1440)
+MulDiv(m_nLogY,m_FlexGrid.GetCellTop (),1440)
+int(1.5*38); //调整值 视图中的top
w=(m_FlexGrid.GetCellWidth()* m_nLogX)/1440;
h=(m_FlexGrid.GetCellHeight()* m_nLogY)/1440;
s=m_FlexGrid.GetText();
m_edit.MoveWindow(x,y,w,h,TRUE);
m_edit.BringWindowToTop();
m_edit.ShowWindow(SW_SHOW);
m_edit.EnableWindow(TRUE);
m_edit.SetFocus();
m_edit.SetWindowText(s);
}
然好编辑OnKillfocusEdit() 函数
void CUpdateView::OnKillfocusEdit()
{
CString ss;
m_edit.ShowWindow(SW_HIDE);
m_edit.EnableWindow(FALSE);
m_edit.GetWindowText(ss);
if(!strcmp(s,ss))//判断输入的数据和flexgrid显示的是否相同
m_FlexGrid.SetText(ss);//不相同则显示新数据!
UpdateData(FALSE);
}
可是不管怎样都不能显示新数据!