做一个登陆界面出现的问题
做一个登陆界面,输入一个四位的密码,若密码错误,就弹出错误消息
类
class CPASSWORDDlg : public CDialog
{}
然后函数
BOOL CPASSWORDApp::InitInstance()
{
CPASSWORDDlg dlg;
m_pMainWnd = &dlg;
int nResponse = dlg.DoModal();
if (nResponse == IDOK)
{
// TODO: Place code here to handle when the dialog is
// dismissed with OK
if(dlg.m_Password!=1925)
{
MessageBox(NULL, "p1 ", "p2 ",MB_OK|MB_ICONERROR);
return FALSE;
}
}
else if (nResponse == IDCANCEL)
{
// TODO: Place code here to handle when the dialog is
// dismissed with Cancel
}
////////////////////
AfxEnableControlContainer();
return FALSE;
}
会弹出两个错误
一个是:error C2039: 'm_Password ' : is not a member of 'CPASSWORDDlg '
确实,在些Dlg.之后没有提示m_Password
还有一个是:error C2664: 'MessageBoxW ' : cannot convert parameter 2 from 'char [3] ' to 'const unsigned short * '
是不是应该把MessageBox换成AfxMessageBox
还有,class CPASSWORDDlg : public CDialog{}里面应该怎么生命些什么东西么?
我的问题可能比较弱,但还是希望各位帮帮帮忙啦,谢谢,超级谢谢:)
[解决办法]
" 'm_Password ' : is not a member of 'CPASSWORDDlg ' ",需要在CPASSWORDDlg中添加m_Password属性,然后取得用户输入的内容并保存到m_Password中,“if(dlg.m_Password!=1925)”改成if(dlg.m_Password!= "1925 ");
"MessageBox(NULL, "p1 ", "p2 ",MB_OK|MB_ICONERROR) "改成MessageBox( "p1 ", "p2 ",MB_OK|MB_ICONERROR)或者AfxMessageBox( "p1 ", "p2 ",MB_OK|MB_ICONERROR);
建议你先学一下怎么创建对话框类和使用类进行操作。