本文介绍了如何创建一个新窗口的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
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;
}
推荐答案
这篇关于如何创建一个新窗口的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!