tjbs Postado Junho 4, 2006 Denunciar Share Postado Junho 4, 2006 Olá amigos,Estou iniciando na linguagem C e estou precisando de ajuda.Eu realmente preciso de uma ajuda hoje (4/06). :huh: Se alguém puder me ajudar via MSN ou aqui mesmo me fala.Se puder usar MSN favor mandar uma mensagem pessoal.Obrigado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Denis Bittencourt Muniz Postado Junho 5, 2006 Denunciar Share Postado Junho 5, 2006 Poste sua pergunta aqui nesse tópico. Vou tentar ajudá-lo.Aguardando respostas... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 tjbs Postado Junho 5, 2006 Autor Denunciar Share Postado Junho 5, 2006 Bom eu estou começando e estou precisando de uma aplicação assim:Nesta janela terá três botões:1. Leva a um site (irei definir depois)2. Exibe uma mensagem aleatória3. Fecha a janelaEspero que me ajudemDevem estar achando, mas é isso mesmo que eu preciso.Obrigado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Denis Bittencourt Muniz Postado Junho 5, 2006 Denunciar Share Postado Junho 5, 2006 #include <windows.h> //Função para responder as mensagens da aplicação LRESULT CALLBACK MainWndProc (HWND hwnd, UINT nMsg, WPARAM wParam, LPARAM lParam) { //Handles (identificadores exclusivos que o Windows atribui a cada componente) para os botões static HWND hwndButton = 0; static HWND hwndButton2 = 0; static HWND hwndButton3 = 0; static int cx, cy;/* Altura e largura dos botões. */ HDC hdc; PAINTSTRUCT ps; RECT rc; switch (nMsg) { //Cria os três botões case WM_CREATE: { TEXTMETRIC tm; hdc = GetDC (hwnd); SelectObject (hdc, GetStockObject (SYSTEM_FIXED_FONT)); GetTextMetrics (hdc, &tm); cx = tm.tmAveCharWidth * 30; cy = (tm.tmHeight + tm.tmExternalLeading) * 2; ReleaseDC (hwnd, hdc); hwndButton = CreateWindow ( "button", "Abrir site!", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, 0, 0, cx, cy, hwnd, (HMENU) 1, ((LPCREATESTRUCT) lParam)->hInstance, NULL ); hwndButton2 = CreateWindow ( "button", "Fechar janela!", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, 100, 100, cx, cy, hwnd, (HMENU) 2, ((LPCREATESTRUCT) lParam)->hInstance, NULL ); hwndButton3 = CreateWindow ( "button", "Mensagem aleatória!", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, 200, 200, cx, cy, hwnd, (HMENU) 3, ((LPCREATESTRUCT) lParam)->hInstance, NULL ); return 0; break; } //Para finalizar a aplicação, caso o botão fechar (X) seja clicado case WM_DESTROY: PostQuitMessage (0); return 0; break; case WM_COMMAND: //Abre página com o programa padrão if (LOWORD(wParam) == 1 && HIWORD(wParam) == BN_CLICKED && (HWND) lParam == hwndButton) { ShellExecute(hwndButton, "open", "www.google.com.br", NULL, "C:\\", SW_SHOWNORMAL); } //Fecha janela else if(LOWORD(wParam) == 2 && HIWORD(wParam) == BN_CLICKED && (HWND) lParam == hwndButton2) { PostQuitMessage (0); } //Mensagem aleatória else if(LOWORD(wParam) == 3 && HIWORD(wParam) == BN_CLICKED && (HWND) lParam == hwndButton3) { /* Mensagem aletória!!! */ } return 0; break; } return DefWindowProc (hwnd, nMsg, wParam, lParam); } int STDCALL WinMain (HINSTANCE hInst, HINSTANCE hPrev, LPSTR lpCmd, int nShow) { HWND hwndMain; //Handle da janela principal MSG msg; WNDCLASSEX wndclass; char*szMainWndClass = "WinTestWin"; memset (&wndclass, 0, sizeof(WNDCLASSEX)); wndclass.lpszClassName = szMainWndClass; wndclass.cbSize = sizeof(WNDCLASSEX); wndclass.style = CS_HREDRAW | CS_VREDRAW; wndclass.lpfnWndProc = MainWndProc; wndclass.hInstance = hInst; wndclass.hIcon = LoadIcon (NULL, IDI_APPLICATION); wndclass.hIconSm = LoadIcon (NULL, IDI_APPLICATION); wndclass.hCursor = LoadCursor (NULL, IDC_ARROW); //Cor de fundo da janela wndclass.hbrBackground = (HBRUSH) GetStockObject (BLACK_BRUSH); //Registro das características da janela RegisterClassEx (&wndclass); //Cria janela principal hwndMain = CreateWindow ( szMainWndClass, "Teste", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInst, NULL ); //Exibe Janela ShowWindow (hwndMain, nShow); UpdateWindow (hwndMain); //Loop de monitoramento de mensagens while (GetMessage (&msg, NULL, 0, 0)) { TranslateMessage (&msg); DispatchMessage (&msg); } return msg.wParam; } Bom tjbs... pode parecer complicado.. mas esse código representa uma aplicação Windows (com janela, botões, etc...)... fiz com interface gráfica, pois você citou "três botões". Só não consegui fazer a criação de números aleatórios... Ah! As partes das funcionalidades dos botões estão comentadas, assim como algumas outras partes de fácil entendimento...Para entender *tudo* isso, você terá que estudar as API Win32, porém comece primeiro na linguagem, aprenda muito... depois preocupe com isso... (só para você não ficar boiando: API Win32 é um conjunto de funções que controlam o sistema operacional Windows) .Qualquer coisa, post! Falows! espero que tenha te ajudado...P.S: Fonte compilado no Dev-C++ 4.9.9.2 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
tjbs
Olá amigos,
Estou iniciando na linguagem C e estou precisando de ajuda.
Eu realmente preciso de uma ajuda hoje (4/06). :huh:
Se alguém puder me ajudar via MSN ou aqui mesmo me fala.
Se puder usar MSN favor mandar uma mensagem pessoal.
Obrigado.
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.