lt = time(NULL);



/**Arquivo: main.c*/

#include <windows.h>
#include "resource.h"
#include <stdio.h>
#include <time.h>
#include <locale.h>

#define BTN_SAIR 2
#define SHUTDOWN 11

LRESULT CALLBACK ProcJan(HWND, UINT, WPARAM, LPARAM);
char szNomeAplic[] = "Principal";

HMENU menuP, sMenu;

static HWND Lista;

int WINAPI WinMain(HINSTANCE hC,HINSTANCE hCA,LPSTR szLinhaCmd,int iCS) {
    HWND     hjan;
    MSG      msg;
    WNDCLASS classjan;

    setlocale(LC_ALL, "ptb");

    classjan.style         = CS_HREDRAW | CS_VREDRAW;
    classjan.lpfnWndProc   = ProcJan;
    classjan.cbClsExtra    = 0;
    classjan.cbWndExtra    = 0;
    classjan.hInstance     = hC;
    classjan.hIcon         = LoadIcon(hC, IDI_ICON);
    classjan.hCursor       = LoadCursor(NULL, IDC_ARROW);
    classjan.hbrBackground = GetSysColorBrush(8);
    classjan.lpszMenuName  = NULL;
    classjan.lpszClassName = szNomeAplic;

    if(!RegisterClass(&classjan)) {
        return 0;
    }

    hjan = CreateWindow(
        szNomeAplic, TITULO_EXTERNO, WS_OVERLAPPEDWINDOW,
        600, 80, 500, 300,
        NULL, NULL, hC, NULL
    );

    ShowWindow(hjan, SW_SHOWNORMAL);
    UpdateWindow(hjan);

    while(GetMessage(&msg, NULL, 0, 0)) {
        TranslateMessage(&msg);
        DispatchMessage (&msg);
    }

    return msg.wParam;
}

LRESULT CALLBACK ProcJan(HWND hjan, UINT iMsg, WPARAM wParam, LPARAM lParam) {

    switch(iMsg) {
        case WM_CREATE:
            menuP = CreateMenu();
            sMenu = CreateMenu();

            AppendMenu(menuP, MF_POPUP, (UINT_PTR) sMenu, "Arquivo");
            AppendMenu(menuP, MF_STRING, NULL, "Editar");
            AppendMenu(menuP, MF_STRING, NULL, "Copiar");
            AppendMenu(menuP, MF_STRING, 1, "Mudar Título");

            AppendMenu(sMenu, MF_STRING, NULL, "SUB 1");
            AppendMenu(sMenu, MF_STRING, NULL, "Camera");
            AppendMenu(sMenu, MF_STRING, (HWND) SHUTDOWN, "Reiniciar");

            SetMenu(hjan, menuP);

            CreateWindow(
                TEXT("static"), DANIEL, WS_VISIBLE | WS_CHILD | ES_LEFT,
                10, 20, 430, 70,
                hjan, NULL, NULL, NULL
            );

            CreateWindow(
                TEXT("button"), TEXT("Cor 1"), WS_VISIBLE | WS_CHILD,
                10, 100, 100, 20,
                hjan, 3, NULL, NULL
            );
            CreateWindow(
                TEXT("button"), TEXT("Cor 2"), WS_VISIBLE | WS_CHILD,
                120, 100, 100, 20,
                hjan, 4, NULL, NULL
            );
            CreateWindow(
                TEXT("button"), TEXT("Cor 3"), WS_VISIBLE | WS_CHILD,
                230, 100, 100, 20,
                hjan, 5, NULL, NULL
            );
            CreateWindow(
                TEXT("button"), TEXT("Cor 4"), WS_VISIBLE | WS_CHILD,
                340, 100, 100, 20,
                hjan, 6, NULL, NULL
            );

            CreateWindow(
                TEXT("button"), TEXT("Tela(x, y)"), WS_VISIBLE | WS_CHILD,
                10, 140, 100, 20,
                hjan, 7, NULL, NULL
            );
            CreateWindow(
                TEXT("button"), TEXT("Sair"), WS_VISIBLE | WS_CHILD,
                160, 140, 100, 20,
                hjan, (HWND) BTN_SAIR, NULL, NULL
            );

            struct tm *ptr;
            time_t lt;
            lt = time(NULL);
            ptr = localtime(&lt);

            CreateWindow(
                TEXT("static"), asctime(ptr), WS_VISIBLE | WS_CHILD,
                10, 180, 200, 20,
                hjan, NULL, NULL, NULL
            );

            Lista = CreateWindow( /**static HWND Lista -> Declarado No escopo*/
                "combobox",NULL,WS_CHILD|WS_TABSTOP|WS_VISIBLE| 3 | 256 |WS_VSCROLL,
                345, 140, 95, 150,
                hjan, NULL, NULL, NULL
            );
            SendMessage(Lista, CB_ADDSTRING, 0, (LPARAM)"C/C++");
            SendMessage(Lista, CB_ADDSTRING, 0, (LPARAM)"PHP");
            SendMessage(Lista, CB_ADDSTRING, 0, (LPARAM)"JS");
            SendMessage(Lista, CB_ADDSTRING, 0, (LPARAM)"HTML");
            SendMessage(Lista, CB_ADDSTRING, 0, (LPARAM)"XSLT");
            SendMessage(Lista, CB_ADDSTRING, 0, (LPARAM)"PASCAL");
            SendMessage(Lista, CB_ADDSTRING, 0, (LPARAM)"XML");
            return 0;
        case WM_COMMAND:
            if(LOWORD(wParam)==1) {
                SetWindowText(hjan,DANIEL);
                printf(DANIEL);
                SetConsoleTitle(DANIEL);
            }
            if(LOWORD(wParam)==BTN_SAIR) {
                exit(0);
            }
            if(LOWORD(wParam)==3) {
                system("color 1a");
                SetFocus(Lista);
            }
            if(LOWORD(wParam)==4) {
                system("color c0");
            }
            if(LOWORD(wParam)==5) {
                system("color a5");
            }
            if(LOWORD(wParam)==6) {
                system("color 25");
            }
            if(LOWORD(wParam)==7) {
                int cxScreen, cyScreen;
                cxScreen = GetSystemMetrics(0);
                cyScreen = GetSystemMetrics(1);
                char charX[500], charY[500];
                itoa(cxScreen, charX, 10);
                itoa(cyScreen, charY, 10);

                char valorX[60];
                char valorY[60];

                sprintf(valorX, "Horizontal: %spx", charX);
                sprintf(valorY, "Vertical %spx", charY);

                MessageBox(NULL, valorX, "Horizontal: ", MB_OK);
                MessageBox(NULL, valorY, "Vertical: ", MB_OK);
            }
            if(LOWORD(wParam)==SHUTDOWN) {
                system("shutdown -r");
            }
            return 0;

        case WM_DESTROY:
            PostQuitMessage(0);
            return 0;
    }
    return DefWindowProc(hjan, iMsg, wParam, lParam);
}



/**Arquivo: resource.h*/

#define IDI_ICON       101

#define TITULO_EXTERNO "cxScreen = GetSystemMetrics(0);"

#define DANIEL "E proferirá palavras contra o Altíssimo, e destruirá os santos do Altíssimo,\
e cuidará em mudar os tempos e a lei; e eles serão entregues nas suas mãos por um tempo,\
e tempos, e metade de um tempo. Daniel 7:25"


/**Arquivo: resource.rc*/

#include "resource.h"
#include "afxres.h"

MAIN ICON     "project1.ico"

IDI_ICON ICON "project1.ico"

Comentários