我在mfc对话框中创建了一个静态文本,然后将此静态文本的变量更改为CString类型,而成员名称是m_process。 然后,我将使用此静态文本来显示时间过程,但标识符未定义。为什么mfc中的statictext工具中的变量未定义
int64 tm1 = cv::getTickCount();
int64 tm2 = cv::getTickCount();
double sec = (tm2-tm1)/cv::getTickFrequency();
teks.Format(_T("%g"),sec);
m_process.SetWindowTextW(teks);
,这是错误
错误9错误C2065:m_process':未声明的标识符d:\ kuliah \ SMT 8 \真主た\ bismillah_dialog \ bismillah_dialog \ bismillah_dialogdlg.cpp 391 1 Bismillah_Dialog
错误4错误C2228:左 '.SetWindowTextW' 必须具有类/结构/联合d:\ kuliah \ SMT 8 \真主た\ bismillah_dialog \ bismillah_dialog \ bismillah_dialogdlg.cpp 268 1 bismillah_Dialog
这是这个静态文本的声明。 在Dlg.cpp
CBismillah_DialogDlg::CBismillah_DialogDlg(CWnd* pParent /*=NULL*/)
: CDialogEx(CBismillah_DialogDlg::IDD, pParent)
{
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
modeTampil = 0;
openProcess = 0;
modeAuto = 0;
m_area = _T("");
m_process = _T("");
}
void CBismillah_DialogDlg::DoDataExchange(CDataExchange* pDX)
{
CDialogEx::DoDataExchange(pDX);
// DDX_Control(pDX, IDC_EDIT1, m_area);
// DDX_Control(pDX, IDC_EDIT2, m_process);
DDX_Control(pDX, IDC_BUTTON2, m_play);
DDX_Control(pDX, IDC_BUTTON1, m_open);
// DDX_Control(pDX, ID_STATIC, m_pic);
DDX_Control(pDX, ID_STATIC, m_pic);
DDX_Control(pDX, IDC_MFCEDITBROWSE1, m_name);
// DDX_Control(pDX, IDC_EDIT3, m_coba);
// DDX_Control(pDX, IDC_EDIT1, m_area);
DDX_Text(pDX, IDC_EDIT1, m_area);
DDX_Text(pDX, IDC_EDIT2, m_process);
}
和在头文件。
public:
CWinThread* thread;
afx_msg void OnEnChangeMfceditbrowse1();
int modeTampil;
int openProcess;
int modeAuto;
static DWORD ThreadPro(LPVOID *x);
afx_msg void threadProcess();
// CStatic m_area;
// CStatic m_process;
CButton m_play;
CButton m_open;
// CStatic m_pic;
CStatic m_pic;
afx_msg void OnBnClickedButton1();
CMFCEditBrowseCtrl m_name;
// CEdit m_coba;
// CStatic m_area;
CString m_area;
CString m_process;
};
系统已经声明了静态文本,但是当我编译这个程序时它没有检测到。 我不知道如何解决它。我很困惑,并且对这个MFC新手。我非常需要帮助。谢谢:))
请向我们展示代码行,报告错误... – xMRi
您正尝试从对话框类的外部使用'm_process'。您只能从'CBismillah_DialogDlg'类的成员函数中访问它。 – acraig5075
@ acraig5075我认为你在那里做了一个假设。无论哪种方式,原始海报都没有做出任何澄清答复。 –