#include <Windows.h>
LPCWSTR g_szClassName = L"MainWindow_Class";
LRESULT CALLBACK WndProc(HWND hwnd, UINT msg , WPARAM wParam, LPARAM lParam)
{
switch (msg)
{
case WM_CLOSE:
DestroyWindow(hwnd);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd, msg, wParam, lParam);
}
return 0;
}
switch (msg) //This 'handles' anything that we will be later recieving from the WinMain!
{
case WM_CLOSE: //if we close the window
DestroyWindow(hwnd); // destroy it!
break;
case WM_DESTROY: //if we destroy the window
PostQuitMessage(0); //tell the computer that the program has quitted
break;
default: //returning to default
return DefWindowProc(hwnd, msg, wParam, lParam); //return the default window process
}
return 0; //out of the switch return 0 ( null )
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
WNDCLASSEX wc;
MSG msg;
HWND hwnd;
ZeroMemory(&wc, sizeof(&wc));
wc.style = 0;
wc.lpszClassName = g_szClassName;
wc.lpszMenuName = NULL;
wc.lpfnWndProc = WndProc;
wc.hInstance = hInstance;
wc.hIconSm = LoadIcon(NULL, IDC_ICON);
wc.hIcon = LoadIcon(NULL, IDC_ICON);
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
wc.cbWndExtra = 0;
wc.cbSize = sizeof(WNDCLASSEX);
wc.cbClsExtra = 0;
if (!RegisterClassEx(&wc))
{
LPCWSTR Error01 = L"Could not register class!";
LPCWSTR Error01_Caption = L"Error";
MessageBox(NULL, Error01, Error01_Caption, MB_OK | MB_ICONERROR);
}
LPCWSTR WindowTitle = L"EXAMPLE WINDOW!";
hwnd = CreateWindowEx(WS_EX_CLIENTEDGE, g_szClassName, WindowTitle, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 500, 300, NULL, NULL, hInstance, NULL);
if (hwnd == NULL)
{
LPCWSTR Error02 = L"Could not create Window!";
LPCWSTR Error02_Caption = L"Error";
MessageBox(NULL, Error02 , Error02_Caption , MB_OK | MB_ICONERROR);
}
ShowWindow(hwnd, nCmdShow);
UpdateWindow(hwnd);
while(GetMessage(&msg, 0, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
WNDCLASSEX wc;
MSG msg;
HWND hwnd;
ZeroMemory(&wc, sizeof(&wc)); //We are cleaning the memory so we know we are really starting from scratch
wc.style = 0; //the style of the window is null (default)
wc.lpszClassName = g_szClassName; //the class of the window we are setting it as g_szClassName
wc.lpszMenuName = NULL; //we really dont have a menu name ...
wc.lpfnWndProc = WndProc; //In here we are setting the process which will later recieve the messages
wc.hInstance = hInstance; //defining the hInstance
wc.hIconSm = LoadIcon(NULL, IDC_ICON); //defining the icon shown in the taskbar
wc.hIcon = LoadIcon(NULL, IDC_ICON); //defining the actual icon
wc.hCursor = LoadCursor(NULL, IDC_ARROW); //defining the program cursor
wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1); In here we are just setting the bg as white
wc.cbWndExtra = 0; // NULL
wc.cbSize = sizeof(WNDCLASSEX); // This im really not sure
wc.cbClsExtra = 0; // NULL
if (!RegisterClassEx(&wc))
{
LPCWSTR Error01 = L"Could not register class!";
LPCWSTR Error01_Caption = L"Error";
MessageBox(NULL, Error01, Error01_Caption, MB_OK | MB_ICONERROR);
} //Attempt to register our class.. if it fails then tells us it failed!
LPCWSTR WindowTitle = L"EXAMPLE WINDOW!"; //our title
hwnd = CreateWindowEx(WS_EX_CLIENTEDGE, g_szClassName, WindowTitle, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 500, 300, NULL, NULL, hInstance, NULL); //creating our window into the hwnd
if (hwnd == NULL)
{
LPCWSTR Error02 = L"Could not create Window!";
LPCWSTR Error02_Caption = L"Error";
MessageBox(NULL, Error02 , Error02_Caption , MB_OK | MB_ICONERROR);
} //if window creation failed (hwnd is empty) tell us so!
ShowWindow(hwnd, nCmdShow); //Show the window
UpdateWindow(hwnd); // Update the window with the elements (none in this case)
while(GetMessage(&msg, 0, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
} //keep translating and sending messages to our WndProc func
return msg.wParam; //returning the msg wParam
}
#include <Windows.h>
LPCWSTR g_szClassName = L"MainWindow_Class";
LRESULT CALLBACK WndProc(HWND hwnd, UINT msg , WPARAM wParam, LPARAM lParam)
{
switch (msg)
{
case WM_CLOSE:
DestroyWindow(hwnd);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd, msg, wParam, lParam);
}
return 0;
}
switch (msg) //This 'handles' anything that we will be later recieving from the WinMain!
{
case WM_CLOSE: //if we close the window
DestroyWindow(hwnd); // destroy it!
break;
case WM_DESTROY: //if we destroy the window
PostQuitMessage(0); //tell the computer that the program has quitted
break;
default: //returning to default
return DefWindowProc(hwnd, msg, wParam, lParam); //return the default window process
}
return 0; //out of the switch return 0 ( null )
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
WNDCLASSEX wc;
MSG msg;
HWND hwnd;
ZeroMemory(&wc, sizeof(&wc));
wc.style = 0;
wc.lpszClassName = g_szClassName;
wc.lpszMenuName = NULL;
wc.lpfnWndProc = WndProc;
wc.hInstance = hInstance;
wc.hIconSm = LoadIcon(NULL, IDC_ICON);
wc.hIcon = LoadIcon(NULL, IDC_ICON);
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
wc.cbWndExtra = 0;
wc.cbSize = sizeof(WNDCLASSEX);
wc.cbClsExtra = 0;
if (!RegisterClassEx(&wc))
{
LPCWSTR Error01 = L"Could not register class!";
LPCWSTR Error01_Caption = L"Error";
MessageBox(NULL, Error01, Error01_Caption, MB_OK | MB_ICONERROR);
}
LPCWSTR WindowTitle = L"EXAMPLE WINDOW!";
hwnd = CreateWindowEx(WS_EX_CLIENTEDGE, g_szClassName, WindowTitle, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 500, 300, NULL, NULL, hInstance, NULL);
if (hwnd == NULL)
{
LPCWSTR Error02 = L"Could not create Window!";
LPCWSTR Error02_Caption = L"Error";
MessageBox(NULL, Error02 , Error02_Caption , MB_OK | MB_ICONERROR);
}
ShowWindow(hwnd, nCmdShow);
UpdateWindow(hwnd);
while(GetMessage(&msg, 0, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
WNDCLASSEX wc;
MSG msg;
HWND hwnd;
ZeroMemory(&wc, sizeof(&wc)); //We are cleaning the memory so we know we are really starting from scratch
wc.style = 0; //the style of the window is null (default)
wc.lpszClassName = g_szClassName; //the class of the window we are setting it as g_szClassName
wc.lpszMenuName = NULL; //we really dont have a menu name ...
wc.lpfnWndProc = WndProc; //In here we are setting the process which will later recieve the messages
wc.hInstance = hInstance; //defining the hInstance
wc.hIconSm = LoadIcon(NULL, IDC_ICON); //defining the icon shown in the taskbar
wc.hIcon = LoadIcon(NULL, IDC_ICON); //defining the actual icon
wc.hCursor = LoadCursor(NULL, IDC_ARROW); //defining the program cursor
wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1); In here we are just setting the bg as white
wc.cbWndExtra = 0; // NULL
wc.cbSize = sizeof(WNDCLASSEX); // This im really not sure
wc.cbClsExtra = 0; // NULL
if (!RegisterClassEx(&wc))
{
LPCWSTR Error01 = L"Could not register class!";
LPCWSTR Error01_Caption = L"Error";
MessageBox(NULL, Error01, Error01_Caption, MB_OK | MB_ICONERROR);
} //Attempt to register our class.. if it fails then tells us it failed!
LPCWSTR WindowTitle = L"EXAMPLE WINDOW!"; //our title
hwnd = CreateWindowEx(WS_EX_CLIENTEDGE, g_szClassName, WindowTitle, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 500, 300, NULL, NULL, hInstance, NULL); //creating our window into the hwnd
if (hwnd == NULL)
{
LPCWSTR Error02 = L"Could not create Window!";
LPCWSTR Error02_Caption = L"Error";
MessageBox(NULL, Error02 , Error02_Caption , MB_OK | MB_ICONERROR);
} //if window creation failed (hwnd is empty) tell us so!
ShowWindow(hwnd, nCmdShow); //Show the window
UpdateWindow(hwnd); // Update the window with the elements (none in this case)
while(GetMessage(&msg, 0, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
} //keep translating and sending messages to our WndProc func
return msg.wParam; //returning the msg wParam
}
Copyright © 2024, NextGenUpdate.
All Rights Reserved.