1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
#include<windows.h>
LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM);
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCMDLINE, int iCmdShow){
static TCHAR szAppName[] = TEXT("Test"); //Window Title
HWND hwnd; //Window
MSG msg; //Message
WNDCLASS wndclass; //Properties of the Window
wndclass.style = CS_HREDRAW|CS_VREDRAW; // Properties
wndclass.lpfnWndProc = WndProc;
wndclass.cbClsExtra = 0;
wndclass.cbWndExtra = 0;
wndclass.hInstance = hInstance;
wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);
wndclass.hbrBackground = NULL;
wndclass.lpszMenuName = NULL;
wndclass.lpszClassName = szAppName;
if(!RegisterClass(&wndclass)){ //if the properties are not valid
MessageBox(NULL,"An error occured",szAppName, MB_ICONERROR); //It will say an error occured with title of test and an error icon.
return 0;
}
hwnd = CreateWindow(szAppName,TEXT("Hey"),WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,hInstance,NULL); // Title, Text inside, Style of window, x,y,size x, size y, Parent window handle, window menu handle, program instance handle, creation parameters
ShowWindow(hwnd,iCmdShow);
UpdateWindow(hwnd);
while(GetMessage(&msg, NULL, 0, 0)){ //Keeps running until the users closes the window
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam){
switch(message){
case WM_CREATE:
CreateWindow(TEXT("Button"),TEXT("Click me"),WS_VISIBLE|WS_CHILD,10,10,100,50,hwnd,(HMENU) 1,NULL,NULL); // Button
CreateWindow(TEXT("edit"),TEXT("Text input"),WS_VISIBLE|WS_CHILD|WS_BORDER|ES_AUTOHSCROLL,120,10,100,50,hwnd,(HMENU) 2,NULL,NULL); // TextBox
return 0;
case WM_COMMAND:
if(LOWORD(wParam) == 1){
MessageBox(hwnd,"","Yay!",MB_OK);
}
return 0;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return DefWindowProc(hwnd, message, wParam, lParam);
}
|