本文介绍了如何创建一个新窗口的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Hi Code项目,

我正在制作一个简单的程序,当输入正确的密码时,该程序会打开一个新窗口.
但是我不知道该怎么做:来源

Hi Code Project,

I am making a simple program which opens a New Window when a correct Password is Entered.
But i do not know how i can do that : The source

#include<WinSock2.h>
#include<Windows.h>
#include<tchar.h>
#pragma comment(lib,"ws2_32.lib")
const char Cybernetwork[] ="Cyber Network";
HWND HWND_EDIT_Number;
HWND HWND_Button_Enter;
HWND HWND_Edit_Login;
char Number[100];
LRESULT CALLBACK WndProc(HWND hwnd, UINT msg , WPARAM wParam , LPARAM lParam)
{
    switch (msg)
    {
    case WM_CREATE:
        HWND_EDIT_Number= CreateWindow(_T("Edit"),_T(""),WS_BORDER|WS_CHILD|WS_VISIBLE,0,20,100,20,hwnd,NULL,NULL,NULL);
        HWND_Button_Enter = CreateWindow(_T("Button"),_T("Login"),BS_PUSHBUTTON|WS_VISIBLE|WS_BORDER|WS_CHILD,0,40,50,20,hwnd,(HMENU)1001,NULL,NULL);
        HWND_Edit_Login= CreateWindow(_T("Edit"),_T("Welcome, to Cyber Network."),WS_BORDER|WS_DISABLED|WS_VISIBLE|WS_CHILD,0,0,500,20,hwnd,NULL,NULL,NULL);
        break;
    case WM_COMMAND:
        if(LOWORD(wParam)==1001)
        {
            GetWindowText(HWND_EDIT_Number,Number,100);
            if(strcmp(Number,"Cyberwarfare")==0)
            {
            MessageBox(NULL,"Correct Password Successfully Logged in ","Password Authentication",MB_OK);
            }
            else
            {
            MessageBox(NULL,"Password Incorrect","Password Authentication",MB_OK);
            }
        }
        break;
    case WM_CLOSE:
        DestroyWindow(hwnd);
        break;
    case WM_DESTROY:
        PostQuitMessage(1);
        break;
    default:
        return DefWindowProc(hwnd,msg,wParam , lParam);
    }
    return 0;
}
int WINAPI WinMain(HINSTANCE hInstance , HINSTANCE hPrevhInstance , LPSTR CmdLine,int CmdShow)
{
    WNDCLASSEX ws;
    HWND hwnd ;
    MSG msg;
    ws.cbClsExtra = 0;
    ws.cbSize = sizeof(WNDCLASSEX);
    ws.cbWndExtra = 0;
    ws.hbrBackground = (HBRUSH) (COLOR_WINDOW+1);
    ws.hCursor = LoadCursor(NULL,IDC_ARROW);
    ws.hIcon = LoadIcon(NULL,IDI_APPLICATION);
    ws.hIconSm = LoadIcon(NULL,IDI_APPLICATION);
    ws.hInstance= hInstance;
    ws.lpfnWndProc= WndProc;
    ws.lpszClassName= Cybernetwork;
    ws.lpszMenuName = 0;
    ws.style = 0;
    if(!RegisterClassEx(&ws))
    {
    MessageBoxA(NULL,"Error During Registering Class","Error",MB_OK | MB_ICONERROR);
    }
    hwnd = CreateWindowEx(WS_EX_CLIENTEDGE ,Cybernetwork,Cybernetwork,WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT ,500,500,NULL,NULL,hInstance,NULL);
    ShowWindow(hwnd,CmdShow);
    UpdateWindow(hwnd);
    while(GetMessage(&msg,0,0,0)>0)
    {
        TranslateMessage(&msg);
        DispatchMessageA(&msg);
    }
    return msg.wParam;
} 

推荐答案



这篇关于如何创建一个新窗口的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-24 17:22
查看更多