标题:如何win32制作一个登录界面,我卡住了,不知道接下来代码该怎么写
只看楼主
himdonkin
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2023-4-19
结帖率:0
 问题点数:0 回复次数:5 
如何win32制作一个登录界面,我卡住了,不知道接下来代码该怎么写
代码卡住了,不知道接下来该怎么写,就是WM_COMMAND里面的内容,请大佬们帮帮忙,跪谢!!!


程序代码:
#include<windows.h>
#include<stdio.h>
#include"resource.h"
HINSTANCE hInstance=0;
BOOL CALLBACK DlgProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)
{
    int buffer1=0 ;
    char* buffer2 = {0};
    switch (msg)
    {
    case WM_INITDIALOG:
        return TRUE;
    case WM_CLOSE:
        if (MessageBoxA(hDlg, "are you sure to close?", "Close?", MB_YESNO | MB_ICONQUESTION) == IDYES)
        EndDialog(hDlg, 0);
        break;
    case WM_COMMAND:
        switch (LOWORD(wParam))
        {
        case IDC_EDIT1:
    
            break;
        case IDC_EDIT2:
            
            break;
        }
        return TRUE;
    }
    return FALSE;
}
int main()
{
    hInstance=GetModuleHandleA(NULL);

    DialogBoxA(hInstance, (char*)IDD_DIALOG3, NULL, DlgProc);
    return 0;
}
搜索更多相关主题的帖子: break win32 return 代码 case 
2023-04-21 16:25
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:0 
就是WM_COMMAND里面的内容
不知所云!
为什么不肯明确地将要干什么说出来,而是让别人瞎猜?
2023-04-21 16:32
himdonkin
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2023-4-19
得分:0 
回复 2楼 rjsp
你好,大佬,我是一个新人,就是实现一个登录界面,输入账号密码后点击登录随便跳转一个网页或加载一个东西
2023-04-21 16:35
东海ECS
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:Python
等 级:版主
威 望:19
帖 子:376
专家分:1454
注 册:2023-1-24
得分:0 
你可以按照以下步骤编写登录界面:

1.在对话框资源文件中设计你的登录界面,包括用户名、密码的编辑框和登录、重置按钮。

2.在DlgProc函数中,根据WM_COMMAND消息处理登录、重置按钮的事件。比如,当用户点击登录按钮时,获取编辑框中的用户名和密码,比对数据库中存储的用户名和密码,如果成功,就弹出"登录成功"的消息框,并退出对话框;如果失败,就弹出"用户名或密码错误"的消息框,并清空编辑框。

3.关于数据库的存储和比对,你可以使用第三方库或自己实现。如果你是初学者,可以先使用文件读写的方式来存储用户名和密码。

下面是一个简单的例子,演示了如何获取编辑框中的文本,以及如何弹出消息框:

程序代码:
case WM_COMMAND:
    switch (LOWORD(wParam))
    {
    case IDC_BUTTON_LOGIN:
        {
            // 获取编辑框中的文本
            HWND hUsername = GetDlgItem(hWnd, IDC_EDIT_USERNAME);
            int len = GetWindowTextLength(hUsername);
            char* username = (char*)malloc(len + 1);
            GetWindowText(hUsername, username, len + 1);
            
            HWND hPassword = GetDlgItem(hWnd, IDC_EDIT_PASSWORD);
            len = GetWindowTextLength(hPassword);
            char* password = (char*)malloc(len + 1);
            GetWindowText(hPassword, password, len + 1);

            // 如果用户名和密码匹配成功,弹出消息框并退出对话框
            if (is_valid_user(username, password))
            {
                MessageBox(hWnd, "登录成功!", "提示", MB_OK);
                EndDialog(hWnd, 0);
            }
            else
            {
                MessageBox(hWnd, "用户名或密码错误!", "提示", MB_OK);
                
                // 清空编辑框
                SetWindowText(hUsername, "");
                SetWindowText(hPassword, "");
            }

            free(username);
            free(password);
        }
        break;

    case IDC_BUTTON_RESET:
        // 清空编辑框
        SetWindowText(GetDlgItem(hWnd, IDC_EDIT_USERNAME), "");
        SetWindowText(GetDlgItem(hWnd, IDC_EDIT_PASSWORD), "");
        break;
    }
    break;




会当凌绝顶,一览众山小.
2023-04-21 18:57
himdonkin
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2023-4-19
得分:0 
回复 4楼 东海ECS
感谢大神
2023-04-21 20:53
cheetah
Rank: 2
等 级:论坛游民
威 望:2
帖 子:110
专家分:92
注 册:2013-6-29
得分:0 
什么年代了,还有人用这个?

天道酬勤
2023-04-22 01:49



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-511997-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022051 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved