Programação em C com Aplicação Gráfica e suas Vantagens 15
#include <windows.h>
#include "resource.h"
#include <stdio.h>
#include <time.h>
#define BTN_SAIR 2
LRESULT CALLBACK ProcJan(HWND, UINT, WPARAM, LPARAM);
char szNomeAplic[] = "Principal";
HMENU menuP, sMenu;
static HWND Lista;
int WINAPI WinMain(HINSTANCE hCopia, HINSTANCE hCopiaAnt, LPSTR szLinhaCmd, int iCmdMostrar) {
HWND hjan;
MSG msg;
WNDCLASS classjan;
classjan.style = CS_HREDRAW | CS_VREDRAW;
classjan.lpfnWndProc = ProcJan;
classjan.cbClsExtra = 0;
classjan.cbWndExtra = 0;
classjan.hInstance = hCopia;
classjan.hIcon = LoadIcon(hCopia, IDI_ICON);
classjan.hCursor = LoadCursor(NULL, IDC_ARROW);
classjan.hbrBackground = GetSysColorBrush(COLOR_INACTIVECAPTION);
classjan.lpszMenuName = NULL;
classjan.lpszClassName = szNomeAplic;
if(!RegisterClass(&classjan)) {
return 0;
}
hjan = CreateWindow(szNomeAplic, "Janela Principal", WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, CW_USEDEFAULT, 500, 300,
NULL, NULL, hCopia, NULL);
ShowWindow(hjan, iCmdMostrar);
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, "Evento");
AppendMenu(sMenu, MF_STRING, NULL, "SUB 1");
AppendMenu(sMenu, MF_STRING, NULL, "Camera");
AppendMenu(sMenu, MF_STRING, NULL, "Rede");
SetMenu(hjan, menuP);
CreateWindow(
TEXT("static"), TEXT("O Senhor, teu Deus, te despertará um profeta do meio de ti, de teus irmãos, como eu; a ele ouvireis; \nDeuteronomio 18 v15;"),
WS_VISIBLE | WS_CHILD | ES_LEFT,
10, 20, 400, 50,
hjan, NULL, NULL, NULL
);
CreateWindow(
TEXT("button"), TEXT("Beep(500, 200)"), WS_VISIBLE | WS_CHILD,
10, 100, 110, 20,
hjan, 3, NULL, NULL
);
CreateWindow(
TEXT("button"), TEXT("Beep(200, 100)"), WS_VISIBLE | WS_CHILD,
125, 100, 110, 20,
hjan, 4, NULL, NULL
);
CreateWindow(
TEXT("button"), TEXT("Beep(800, 300)"), WS_VISIBLE | WS_CHILD,
240, 100, 110, 20,
hjan, 5, NULL, NULL
);
CreateWindow(
TEXT("button"), TEXT("Beep(200, 200)"), WS_VISIBLE | WS_CHILD,
355, 100, 110, 20,
hjan, 6, NULL, NULL
);
CreateWindow(
TEXT("button"), TEXT("Executar"), WS_VISIBLE | WS_CHILD,
10, 140, 100, 20,
hjan, NULL, 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(<);
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|CBS_DROPDOWNLIST|CBS_SORT|WS_VSCROLL,
320, 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,"Alterar TÃtulo!!!!!!!!!!");
}
if(LOWORD(wParam)==BTN_SAIR) {
exit(0);
}
if(LOWORD(wParam)==3) {
Beep(500, 200);
}
if(LOWORD(wParam)==4) {
Beep(200, 100);
}
if(LOWORD(wParam)==5) {
Beep(800, 300);
}
if(LOWORD(wParam)==6) {
Beep(200, 200);
}
return 0;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return DefWindowProc(hjan, iMsg, wParam, lParam);
}
Comentários
Postar um comentário