2013-07-10 20 views
-1

MFC(CDialog的):更新對話框靜態文本不工作

//CImgView.cpp: 
void CImgView::OnMouseMove(UINT nFlags, CPoint pt) 
{ 
    CPoint ptImg = GetScrollPosition() + pt; 
    sprintf(sbuf,"X %d Y %d", ptImg.x, ptImg.y); 
    ((CImgDlg*)GetParent())->Update1(); 
    CScrollView::OnMouseMove(nFlags, pt); 
} 
//CImgDlg.cpp: 
void CImgDlg::Update1() 
{ 
    SetDlgItemText(IDC_STATIC_xy, sbuf); 
} 

靜態文本,IDC_STATIC_xy,沒有更新。

回答

1

對話框似乎不太可能是CImgView的父對象,所以GetParent可能會獲得其他窗口。嘗試並提供一個指向可以保存在CImgView中的CImgDlg對象的指針,以便它可以調用pImgDlg-> Update1()。

+0

嘗試「Update1();」而不是「((CImgDlg *)GetParent()) - > Update1();」 –