Ir para conteúdo
Fórum Script Brasil
  • 0

Necessitando De Ajuda Urgente


tjbs

Pergunta

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

  • 0

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ória

3. Fecha a janela

Espero que me ajudem

Devem estar achando, mas é isso mesmo que eu preciso.

Obrigado.

Link para o comentário
Compartilhar em outros sites

  • 0

#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

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...