créer un texte statique dans une boîte de dialogue de la SFM, je change variable de ce texte statique dans le type CString et nom de membre est un m_process. Ensuite, je vais utiliser ce texte statique pour montrer le processus de temps, mais l'identifiant n'est pas défini.Pourquoi la variable dans l'outil StaticText dans mfc est indéfini
int64 tm1 = cv::getTickCount();
int64 tm2 = cv::getTickCount();
double sec = (tm2-tm1)/cv::getTickFrequency();
teks.Format(_T("%g"),sec);
m_process.SetWindowTextW(teks);
et ceci est l'erreur
Erreur 9 erreur C2065: 'm_process': identificateur non déclaré d: \ kuliah \ smt 8 \ bismillah ta \ bismillah_dialog \ bismillah_dialog \ bismillah_dialogdlg.cpp 391 1 Bismillah_Dialog
erreur 4 erreur C2228: à gauche de '.SetWindowTextW' doit avoir classe/struct/union d: \ kuliah \ smt 8 \ bismillah ta \ bismillah_dialog \ bismillah_dialog \ bismillah_dialogdlg.cpp 268 1 bismillah_Dialog
c'est la déclaration de ce texte statique. dans 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);
}
et dans le fichier d'en-tête.
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;
};
Le système a déjà déclaré le texte statique, mais il n'est pas détecté lorsque je compile ce programme. Je ne sais pas comment le résoudre. Je suis très confus, et débutant à ce MFC. J'ai très très besoin d'aide. merci :))
S'il vous plaît nous montrer les lignes de code, qui signale l'erreur ... – xMRi
Vous essayez d'utiliser 'm_process' de l'extérieur de la classe de dialogue. Vous ne pouvez y accéder qu'à partir d'une fonction membre de la classe 'CBismillah_DialogDlg'. – acraig5075
@ acraig5075 Je pense que vous avez fait une supposition là-bas. De toute façon, l'affiche originale n'a pas fait de réponses avec des précisions. –