我的工程中,含有多个PAGE对话框,我现在PAGE对话框上创建了一个CGrid控件,为了让我能在这控件上插入数据,我在PAGE代码中加了插入函数,如下:BOOL CPageJgcx::UpdataGrid(int iID,CString strtm,int iResult)
{
CString sID=_T("");
CString sResult=_T("");
sID.Format("%d",iID);
sResult.Format("%d",iResult); pGridResult->ShowWindow(SW_HIDE);
pGridUpdata->ShowWindow(SW_SHOW); pGridUpdata->InsertRow(sID);
pGridUpdata->SetRowHeight(pGridUpdata->GetRowCount()-1,pGridUpdata->GetRowHeight(0));
int nrow=pGridUpdata->GetRowCount()-1;
pGridUpdata->SetItemText(nrow,1,strtm);
pGridUpdata->SetItemText(nrow,2,sResult);
pGridUpdata->SetRedraw(1,1);
pGridUpdata->Invalidate();
return TRUE;
},如果我在当前page中调用这个函数,是正确的,但我在主对话框(不是PAGE),去调用这个函数,就出现错误,调用如下:CPageJgcx jgcx;
jgcx.UpdataGrid(1,"fff",1);
,求解答?????????
{
CString sID=_T("");
CString sResult=_T("");
sID.Format("%d",iID);
sResult.Format("%d",iResult); pGridResult->ShowWindow(SW_HIDE);
pGridUpdata->ShowWindow(SW_SHOW); pGridUpdata->InsertRow(sID);
pGridUpdata->SetRowHeight(pGridUpdata->GetRowCount()-1,pGridUpdata->GetRowHeight(0));
int nrow=pGridUpdata->GetRowCount()-1;
pGridUpdata->SetItemText(nrow,1,strtm);
pGridUpdata->SetItemText(nrow,2,sResult);
pGridUpdata->SetRedraw(1,1);
pGridUpdata->Invalidate();
return TRUE;
},如果我在当前page中调用这个函数,是正确的,但我在主对话框(不是PAGE),去调用这个函数,就出现错误,调用如下:CPageJgcx jgcx;
jgcx.UpdataGrid(1,"fff",1);
,求解答?????????
jgcx.Create(1,this);
CPageJgcx *jgcx;
void CFgySystemDlg::OnBnClickedBtnStop()
{
//AfxBeginThread(r_Reagent2,(CWnd *)this,0);
jgcx=new CPageJgcx;
jgcx->Create(IDD_PAGE_JGCX);
jgcx->UpdataListCtrlEx(1,"ffffffffffff",177);
}数据没有插进去?
从你的描述来看,这个非模式窗口应该处于运行状态的了,这时候,如果你需要在这个窗口上显示内容,你需要使用该窗口对象进行相关操作,而不是另外去创建一个CPageJgcx对象,虽然它们来自于同一个类,但却是两个不同的实例.就好比"人"是一个类,那么你和我就是"人"这个类的两个实例.我做的动作,肯定不会作用在你身上的.
CPageJgcx jgcx;
jgcx.Create(IDD_PAGE_JGCX,this);
// jgcx.m_lstResult.SetRedraw(TRUE);
jgcx.UpdataListCtrlEx(1,"ffffffffffff",177);这样数据没插入进去
listctrl在CPageJgcx 上。
happyparrot
那你的意思是??