#include "main.h"

/*  Declare Windows procedure  */
LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);

/*  Make the class name into a global variable  */

int WINAPI WinMain (HINSTANCE hThisInstance,HINSTANCE hPrevInstance,LPSTR lpszArgument,int nCmdShow)
{
                  /* This is the handle for our window */
    MSG messages;            /* Here messages to the application are saved */
    WNDCLASSEX wincl;        /* Data structure for the windowclass */

    /* The Window structure */
    wincl.hInstance = hThisInstance;
    wincl.lpszClassName = "clasa1";
    wincl.lpfnWndProc = WindowProcedure;      /* This function is called by windows */
    wincl.style = CS_DBLCLKS;                 /* Catch double-clicks */
    wincl.cbSize = sizeof (WNDCLASSEX);

    /* Use default icon and mouse-pointer */
    wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);
    wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
    wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
    wincl.lpszMenuName = NULL;                 /* No menu */
    wincl.cbClsExtra = 0;                      /* No extra bytes after the window class */
    wincl.cbWndExtra = 0;                      /* structure or the window instance */
    /* Use Windows's default colour as the background of the window */
    wincl.hbrBackground = (HBRUSH) (COLOR_WINDOW);

    /* Register the window class, and if it fails quit the program */
    if (!RegisterClassEx (&wincl))
        return 0;
    /* The class is registered, let's create the program*/
    hwnd = CreateWindowEx (
           0,                   /* Extended possibilites for variation */
           "clasa1",         /* Classname */
           "Inregistrare date",       /* Title Text */
           WS_OVERLAPPEDWINDOW, /* default window */
           350,       /* Windows decides the position */
           100,       /* where the window ends up on the screen */
           600,                 /* The programs width */
           500,                 /* and height in pixels */
           HWND_DESKTOP,        /* The window is a child-window to desktop */
           NULL,                /* No menu */
           hThisInstance,       /* Program Instance handler */
           NULL                 /* No Window Creation data */
           );

    /* Make the window visible on the screen */
    ShowWindow (hwnd, nCmdShow);

    /* Run the message loop. It will run until GetMessage() returns 0 */
    while (GetMessage (&messages, NULL, 0, 0))
    {
        /* Translate virtual-key messages into character messages */
        TranslateMessage(&messages);
        /* Send message to WindowProcedure */
        DispatchMessage(&messages);
    }

    /* The program return-value is 0 - The value that PostQuitMessage() gave */
    return messages.wParam;
}


/*  This function is called by the Windows function DispatchMessage()  */

LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
   switch (message)                  /* handle the messages */
    {
        case WM_CREATE:
            hbtm[0]=CreateWindow("STATIC","Prenume :",WS_VISIBLE|WS_CHILD,10,10,70,20,hwnd, (HMENU)ID_B_TEXT1,hThisInstance,NULL);
            hbtm[10]=CreateWindow("EDIT","",WS_VISIBLE|WS_CHILD|WS_BORDER|ES_AUTOHSCROLL,80,10,100,20,hwnd, (HMENU)ID_B_TEXT10,hThisInstance,NULL);
            hbtm[1]=CreateWindow("STATIC","Nume :",WS_VISIBLE|WS_CHILD,10,40,70,20,hwnd, (HMENU)ID_B_TEXT2,hThisInstance,NULL);
            hbtm[11]=CreateWindow("EDIT","",WS_VISIBLE|WS_CHILD|WS_BORDER|ES_AUTOHSCROLL,80,40,100,20,hwnd, (HMENU)ID_B_TEXT11,hThisInstance,NULL);
            hbtm[2]=CreateWindow("STATIC","Varsta :",WS_VISIBLE|WS_CHILD,10,70,70,20,hwnd, (HMENU)ID_B_TEXT3,hThisInstance,NULL);
            hbtm[12]=CreateWindow("EDIT","",WS_VISIBLE|WS_CHILD|WS_BORDER|ES_AUTOHSCROLL,80,70,100,20,hwnd, (HMENU)ID_B_TEXT12,hThisInstance,NULL);
            hbtm[3]=CreateWindow("STATIC","Adresa :",WS_VISIBLE|WS_CHILD,10,100,70,20,hwnd, (HMENU)ID_B_TEXT4,hThisInstance,NULL);
            hbtm[13]=CreateWindow("EDIT","",WS_VISIBLE|WS_CHILD|WS_BORDER|ES_AUTOHSCROLL,80,100,100,20,hwnd, (HMENU)ID_B_TEXT13,hThisInstance,NULL);
            hbtm[4]=CreateWindow("STATIC","Sat :",WS_VISIBLE|WS_CHILD,10,130,50,70,hwnd, (HMENU)ID_B_TEXT5,hThisInstance,NULL);
            hbtm[14]=CreateWindow("EDIT","",WS_VISIBLE|WS_CHILD|WS_BORDER|ES_AUTOHSCROLL,80,130,100,20,hwnd, (HMENU)ID_B_TEXT14,hThisInstance,NULL);
            hbtm[5]=CreateWindow("STATIC","Comuna :",WS_VISIBLE|WS_CHILD,10,160,70,20,hwnd, (HMENU)ID_B_TEXT6,hThisInstance,NULL);
            hbtm[15]=CreateWindow("EDIT","",WS_VISIBLE|WS_CHILD|WS_BORDER|ES_AUTOHSCROLL,80,160,100,20,hwnd, (HMENU)ID_B_TEXT15,hThisInstance,NULL);
            hbtm[6]=CreateWindow("STATIC","Judet :",WS_VISIBLE|WS_CHILD,10,190,70,20,hwnd, (HMENU)ID_B_TEXT7,hThisInstance,NULL);
            hbtm[16]=CreateWindow("EDIT","",WS_VISIBLE|WS_CHILD|WS_BORDER|ES_AUTOHSCROLL,80,190,100,20,hwnd, (HMENU)ID_B_TEXT16,hThisInstance,NULL);
            hbtm[7]=CreateWindow("STATIC","Tara :",WS_VISIBLE|WS_CHILD,10,220,70,20,hwnd, (HMENU)ID_B_TEXT8,hThisInstance,NULL);
            hbtm[17]=CreateWindow("EDIT","",WS_VISIBLE|WS_CHILD|WS_BORDER|ES_AUTOHSCROLL,80,220,100,20,hwnd, (HMENU)ID_B_TEXT17,hThisInstance,NULL);
            hbtm[8]=CreateWindow("STATIC","Cod postal :",WS_VISIBLE|WS_CHILD,10,250,80,20,hwnd, (HMENU)ID_B_TEXT9,hThisInstance,NULL);
            hbtm[18]=CreateWindow("EDIT","",WS_VISIBLE|WS_CHILD|WS_BORDER|ES_AUTOHSCROLL,80,250,100,20,hwnd, (HMENU)ID_B_TEXT18,hThisInstance,NULL);

            hbtm[19]=CreateWindow("BUTTON","Prima",WS_VISIBLE|WS_CHILD,80,280,100,20,hwnd, (HMENU)ID_B_BUT2,hThisInstance,NULL);
            hbtm[20]=CreateWindow("BUTTON","Precedenta",WS_VISIBLE|WS_CHILD,190,280,100,20,hwnd, (HMENU)ID_B_BUT3,hThisInstance,NULL);
            hbtm[21]=CreateWindow("BUTTON","Urmatoarea",WS_VISIBLE|WS_CHILD,300,280,100,20,hwnd, (HMENU)ID_B_BUT4,hThisInstance,NULL);
            hbtm[22]=CreateWindow("BUTTON","Ultima",WS_VISIBLE|WS_CHILD,410,280,100,20,hwnd, (HMENU)ID_B_BUT5,hThisInstance,NULL);

            hbtm[9]=CreateWindow("BUTTON","Inregistreaza",WS_VISIBLE|WS_CHILD,80,310,100,20,hwnd, (HMENU)ID_B_BUT1,hThisInstance,NULL);
            hbtm[23]=CreateWindow("BUTTON","Adauga",WS_VISIBLE|WS_CHILD,190,310,100,20,hwnd, (HMENU)ID_B_BUT6,hThisInstance,NULL);
            hbtm[24]=CreateWindow("BUTTON","Editeaza",WS_VISIBLE|WS_CHILD,300,310,100,20,hwnd, (HMENU)ID_B_BUT7,hThisInstance,NULL);
            hbtm[25]=CreateWindow("BUTTON","Anuleaza",WS_VISIBLE|WS_CHILD,410,310,100,20,hwnd, (HMENU)ID_B_BUT8,hThisInstance,NULL);

            EnableWindow(hbtm[25],false);
            EnableWindow(hbtm[9],false);

            hFont = CreateFont(15, 0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE, ANSI_CHARSET, OUT_TT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY,DEFAULT_PITCH | FF_DONTCARE, TEXT("Arial"));

            for (i=0; i<27; i++) { SendMessage(hbtm[i], WM_SETFONT, (WPARAM)hFont, TRUE); }
            return 0;

        case WM_SHOWWINDOW:
            consultare(1);
            return 0;

        case WM_CLOSE:
          //  if(MessageBox(hwnd,"Doriti sa inchideti?","Iesire",MB_OKCANCEL)==IDOK)
            PostQuitMessage (0);       /* send a WM_QUIT to the message queue */
            return 0;

        case WM_COMMAND:
            switch(LOWORD(wParam)) {
                case ID_B_BUT1:
                    inregistrare();
                break;

                case ID_B_BUT2:
                    consultare(1);
                break;

                case ID_B_BUT3:
                    consultare(2);
                break;

                case ID_B_BUT4:
                    consultare(3);
                break;

                case ID_B_BUT5:
                    consultare(4);
                break;

                case ID_B_BUT6: //Adaugare
                    enable(ID_ADAUGARE);
                break;

                case ID_B_BUT7: //Editare
                    enable(ID_EDITARE);
                break;

                case ID_B_BUT8: //Anulare
                    enable(ID_ANULARE);
                break;

            }
            return 0;



        default:                      /* for messages that we don't deal with */
            return DefWindowProc (hwnd, message, wParam, lParam);
    }



    return 0;
}
