Я создаю статический текст в диалоговом окне mfc, затем изменяю переменную этого статического текста на тип CString, а имя члена — m_process. Затем я буду использовать этот статический текст, чтобы показать процесс времени, но идентификатор не определен.
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 ta\bismillah_dialog\bismillah_dialog\bismillah_dialogdlg.cpp 391 1 Bismillah_Dialog
Ошибка 4 ошибка C2228: слева от '.SetWindowTextW' должен быть класс/структура/объединение d:\kuliah\smt 8\bismillah ta\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;
};
Система уже объявила статический текст, но он не обнаруживается при сборке этой программы. Я не знаю, как это решить. Я очень запутался и новичок в этом МФЦ. Мне очень очень нужна помощь. Спасибо :))
m_process
вне класса диалога. Вы можете получить к нему доступ только из функции-члена классаCBismillah_DialogDlg
. - person acraig5075   schedule 15.08.2017SetWindowTextW
для переменной CString, я бы скорее ожидал, что SetWindowTextW не является членом CString. - person acraig5075   schedule 15.08.2017