Przesyłam kod programu.
#include <windows.h>
#include <fstream>
using namespace std;
HINSTANCE hInstance;
HWND hwnd;
HWND hWnd2;
HWND g_hPrzyciskLogIn;
HWND g_hPrzyciskCancel;
LRESULT CALLBACK WindowProcedure( HWND, UINT, WPARAM, LPARAM );
char szClassName[] = "WindowsApp";
int WINAPI WinMain( HINSTANCE hThisInstance,
HINSTANCE hPrevInstance,
LPSTR lpszArgument,
int nFunsterStil )
{
MSG messages;
WNDCLASSEX wincl;
wincl.hInstance = hThisInstance;
wincl.lpszClassName = szClassName;
wincl.lpfnWndProc = WindowProcedure;
wincl.style = CS_DBLCLKS;
wincl.cbSize = sizeof( WNDCLASSEX );
wincl.hIcon = LoadIcon( NULL, IDI_APPLICATION );
wincl.hIconSm = LoadIcon( NULL, IDI_APPLICATION );
wincl.hCursor = LoadCursor( NULL, IDC_ARROW );
wincl.lpszMenuName = NULL;
wincl.cbClsExtra = 0;
wincl.cbWndExtra = 0;
wincl.hbrBackground =( HBRUSH ) COLOR_BACKGROUND;
if( !RegisterClassEx( & wincl ) )
return 0;
HMENU hMenu = LoadMenu( hThisInstance, MAKEINTRESOURCE( 200 ) );
hwnd = CreateWindowEx(
0,
szClassName,
"TEST",
WS_MAXIMIZE | WS_MINIMIZEBOX | WS_SYSMENU,
CW_USEDEFAULT,
CW_USEDEFAULT,
9999,
9999,
HWND_DESKTOP,
hMenu,
hThisInstance,
NULL
);
RECT rcl;
GetClientRect( hwnd, & rcl );
HWND hTlo = CreateWindowEx( 0, "STATIC", NULL, WS_CHILD | WS_VISIBLE,
0, 0, rcl.right, rcl.bottom, hwnd, NULL, hInstance, NULL );
HWND hInfo = CreateWindowEx( 0, "STATIC", "...\n...\n...", WS_CHILD | WS_VISIBLE,
rcl.right / 2.6, rcl.bottom / 2, 400, 100, hwnd, NULL, hInstance, NULL );
char szWindowClass2[] = "WindowsApp";
hWnd2 = CreateWindow( szWindowClass2, TEXT( "LOGOWANIE" ), WS_POPUP | WS_VISIBLE | WS_CAPTION,
100, 100, 500, 500, hwnd, NULL, hInstance, NULL );
ShowWindow( hWnd2, SW_SHOW );
HWND hTlo2 = CreateWindowEx( 0, "STATIC", NULL, WS_CHILD | WS_VISIBLE,
0, 0, rcl.right, rcl.bottom, hWnd2, NULL, hInstance, NULL );
HWND hText3 = CreateWindowEx( 0, "STATIC", "Nick:", WS_CHILD | WS_VISIBLE,
10, 90, 400, 100, hWnd2, NULL, hInstance, NULL );
HWND hNick = CreateWindowEx( 0, "EDIT", NULL, WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 10, 130, 200, 20,
hWnd2, NULL, hInstance, NULL );
HWND hText4 = CreateWindowEx( 0, "STATIC", "Hasło:", WS_CHILD | WS_VISIBLE,
10, 170, 400, 100, hWnd2, NULL, hInstance, NULL );
HWND hPassword = CreateWindowEx( 0, "EDIT", NULL, WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 10, 210, 200, 20,
hWnd2, NULL, hInstance, NULL );
HWND hText5 = CreateWindowEx( 0, "STATIC", "UWAGA! Wielkość liter jest rozróżniana we wszystkich polach!", WS_CHILD | WS_VISIBLE,
10, 440, 500, 100, hWnd2, NULL, hInstance, NULL );
HWND g_hCheckboxReamemberMe = CreateWindowEx( 0, "BUTTON", "Zapamiętaj mnie na tym komputerze", WS_CHILD | WS_VISIBLE | BS_AUTOCHECKBOX,
10, 250, 300, 50, hWnd2, NULL, hInstance, NULL );
g_hPrzyciskLogIn = CreateWindowEx( 0, "BUTTON", "ZALOGUJ!", WS_CHILD | WS_VISIBLE,
10, 300, 200, 50, hWnd2, NULL, hInstance, NULL );
g_hPrzyciskCancel = CreateWindowEx( 0, "BUTTON", "Anuluj i zamknij program", WS_CHILD | WS_VISIBLE,
220, 300, 200, 50, hWnd2, NULL, hInstance, NULL );
ShowWindow( hwnd, nFunsterStil );
while( GetMessage( & messages, NULL, 0, 0 ) )
{
TranslateMessage( & messages );
DispatchMessage( & messages );
}
return messages.wParam;
}
LRESULT CALLBACK WindowProcedure( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam )
{
switch( message )
{
case WM_DESTROY:
PostQuitMessage( 0 );
break;
case WM_COMMAND:
if(( HWND ) lParam == g_hPrzyciskLogIn )
{
DestroyWindow( hWnd2 );
}
if(( HWND ) lParam == g_hPrzyciskCancel )
{
PostQuitMessage( 0 );
}
break;
default:
return DefWindowProc( hwnd, message, wParam, lParam );
}
return 0;
}
P.S. Jest jakiś styl hasła do textboxa, że zamiast znaków pojawiają się gwiazdki?