说明:
我新建一个工程,两个DIALOG,头文件分别是: "MemScanDlg.h" "Process.h"
在MemScanDlg里声明和写入的代码是:CProcess* dlgProcess; // 头文件里声明
int Pid; //声明一个变量dlgProcess = new CProcess; // 在类构造中初始化
//////////// i下面是显示出来
dlgProcess->Create(IDD_DLG_PROCESS,this);
dlgProcess->SetWindowPos(NULL,rect.right,rect.top,0,0,SWP_NOSIZE|SWP_SHOWWINDOW);void CMemScanDlg::UpProcessID(int Pid)
{
UpdateData(TRUE);
m_PID = Pid;
UpdateData(FALSE);
}
下面问题来了:
下面的代码是在Process.cpp里的一个按键事件里写入的
CMemScanDlg* dlgScan = new CMemScanDlg;
m_Pid = 10;
//dlgScan->UpProcessID(m_Pid); //看下这两句
//dlgScan->pid = m_Pid;
delete dlgScan;
上面 注释的两句代码均不能传递到CmemScanDlg类里声明的变量去!! 如何才能传递值呢?大牛,大虾 帮帮小菜我好不?
我新建一个工程,两个DIALOG,头文件分别是: "MemScanDlg.h" "Process.h"
在MemScanDlg里声明和写入的代码是:CProcess* dlgProcess; // 头文件里声明
int Pid; //声明一个变量dlgProcess = new CProcess; // 在类构造中初始化
//////////// i下面是显示出来
dlgProcess->Create(IDD_DLG_PROCESS,this);
dlgProcess->SetWindowPos(NULL,rect.right,rect.top,0,0,SWP_NOSIZE|SWP_SHOWWINDOW);void CMemScanDlg::UpProcessID(int Pid)
{
UpdateData(TRUE);
m_PID = Pid;
UpdateData(FALSE);
}
下面问题来了:
下面的代码是在Process.cpp里的一个按键事件里写入的
CMemScanDlg* dlgScan = new CMemScanDlg;
m_Pid = 10;
//dlgScan->UpProcessID(m_Pid); //看下这两句
//dlgScan->pid = m_Pid;
delete dlgScan;
上面 注释的两句代码均不能传递到CmemScanDlg类里声明的变量去!! 如何才能传递值呢?大牛,大虾 帮帮小菜我好不?
//dlgScan->UpProcessID(m_Pid); //看下这两句
//dlgScan->pid = m_Pid;
delete dlgScan;
MemScanDlg是父窗口,可用GetParent()获得父窗口对象指针
用的是非模态对话框,你就别delete了,刚出来就被你kill了
delete写在你的对话框类的PostNcDestroy里面,delete this