Интерфейс входа в систему :от диалогового окна к главному окну
Привет , я пытаюсь получить доступ к главному окну из диалогового окна, которое является интерфейсом входа в систему.
Мой сценарий состоит в том ,чтобы проверить правильность psw, а затем он показывает оконную раму (SDI) (если PSW верен), нажав на клавиатуру "Enter" (а не кнопку OK).
Я буду работать с диалоговым окном и SDI .
Моя проблема заключается в том , как специально установить условие доступа, я работаю с двумя разными областями.
В моем диалоговом окне входа в систему мой код выглядит следующим образом :
Что я уже пробовал:
void CLoginDlg::OnLogin() { UpdateData(TRUE); CWnd* pwndCtrl = GetFocus(); int ctrl_ID = pwndCtrl->GetDlgCtrlID(); CLoginDlg LoginDlg; switch (ctrl_ID) { case IDC_EDIT_PSW: UpdateData(TRUE); BOOL Access=FALSE ; if (m_Login == "123") // password { //AfxMessageBox(_T("Successful Login")); return ; } else Access = false; //case IDOK : //OnOK(); UpdateData(FALSE);
Member 13927859
затем в IntClient.cpp :
Jochen Arndt
Распространенным сценарием было бы отображение диалогового окна из InitInstance() перед созданием и отображением основного фрейма. Если диалоговое окно не возвращает IDOK, вернитесь из InitInstance() с FALSE, чтобы завершить работу приложения.
Ваш показанный код на самом деле не имеет смысла. Такой диалог входа в систему обычно имеет и поле ввода, и кнопки OK и Cancel. Переопределите обработчик OK по умолчанию. Внутри обработчика выполните проверку, прочитав текст поля ввода. Если это действительно, вызовите CDialog::OnOK() и вернитесь. В противном случае просто вернитесь без вызова CDialog::OnOK() или необязательно (например, после определенного количества попыток) вызовите CDialog::OnCancel().
Member 13927859
то , что я прошу , заключается в том, что даже psw неверен, я могу получить доступ к главному окну . как я могу установить psw в качестве ключа для доступа или отмены главного окна?
Ниже приведен код, который я написал в InitInstance.
KarstenK
считайте, что пользователь ошибся, ферготтен пароль или является новым пользователем. Вот почему я бы показал основной интерфейс но в основном отключен и только некоторые вспомогательные функции там где они включены