我在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我認爲你在那裏做了一個假設。無論哪種方式,原始海報都沒有做出任何澄清答覆。 –