且听下回分说
2019-03-14 18:46
采纳率: 69.2%
浏览 2.7k

实现一个登录界面,自定义用户名和密码

实现一个登录界面,自定义用户名和密码,然后登录时输入用户名和密码,成功就登录进去,显示主窗口,失败则清空用户输入的用户名和密码,退出就直接退出。
但现在不论输入什么都会清空用户输入


```switch (message)
    {
    case WM_INITDIALOG:
        CreateWindow(_T("button"), _T("确认"), WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
            0, 70, 100, 30, hDlg, (HMENU)5001, hInst, NULL);
        CreateWindow(_T("button"), _T("退出"), WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
            100, 70, 100, 30, hDlg, (HMENU)5002, hInst, NULL);
        CreateWindow(_T("edit"), _T("请输入用户:"), WS_CHILD | WS_VISIBLE,
            0, 0, 1024, 20, hDlg, (HMENU)6001, hInst, NULL);
        CreateWindow(_T("edit"), _T("请输入密码:"), WS_CHILD | WS_VISIBLE,
            0, 30, 1024, 20, hDlg, (HMENU)6002, hInst, NULL);
        return (INT_PTR)TRUE;

    case WM_COMMAND://命令消息
        switch (LOWORD(wParam))
        {
        case 5002:
            EndDialog(hDlg, 0);

        case 5001:
        {        

                     char str1[20] = {};
                     char str2[20] = {};
                     GetDlgItemTextA(hDlg, 6001, str1, 1024);
                     GetDlgItemTextA(hDlg, 6002, str2, 1024);

                     if (strcmp(str1, "1234")==0 && strcmp(str2, "4321")==0)
                     {
                         EndDialog(hDlg, 0);
                     }
                    else
                     {
                        SetDlgItemText(hDlg, 6001, _T("请输入用户:"));
                        SetDlgItemText(hDlg, 6002, _T("请输入密码:"));

                     }  

        }
        }
        if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)
        {
            EndDialog(hDlg, LOWORD(wParam));
            return (INT_PTR)TRUE;
        }
        break;
    }
    return (INT_PTR)FALSE;
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • benpaodaoren 2019-03-15 16:19
    已采纳

    请问你在输入用户名和密码之前有没有把编辑框中的这几个提示字符删了:“请输入用户:”和“请输入密码:”。

    点赞 打赏 评论
  • blownewbee 2019-03-15 00:30

    MFC里用不到strcmp、GetDlgItemText
    直接把文本框映射到成员变量,用 UpdateData 同步变量

    点赞 打赏 评论

相关推荐 更多相似问题