elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


  Mostrar Temas
Páginas: 1 2 3 [4]
31  Programación / Programación C/C++ / Problema con WINAPI en: 25 Agosto 2011, 15:27 pm
Bueno,

pues hoy empeze con la WINAPI (un rollazo por cierto  :xD) y tengo un error al copilar un sencillo menu en CODE::BLOCKS. No se donde esta el error asi que agradecería que me lo dijesen.

Código:
#include <windows.h>
const int MENSAJE = 1000;
/*  Declare Windows procedure  */
LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);

/*  Make the class name into a global variable  */
char szClassName[ ] = "CodeBlocksWindowsApp";

int WINAPI WinMain (HINSTANCE hThisInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR lpszArgument,
                     int nCmdShow)
{
    HWND hwnd;               /* 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 = szClassName;
    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_BACKGROUND;

    /* 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 */
           szClassName,         /* Classname */
           "Pruebas tranquiiilo",       /* Title Text */
           WS_OVERLAPPEDWINDOW, /* default window */
           CW_USEDEFAULT,       /* Windows decides the position */
           CW_USEDEFAULT,       /* where the window ends up on the screen */
           544,                 /* The programs width */
           375,                 /* 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:

        HMENU menu1,menu2;

        menu1= CreateMenu();
        menu2= CreateMenu();

        AppendMenu (menu2, MF_STRING, MENSAJE, "mensaje");

        AppendMenu (menu1, MF_STRING | MF_POPUP| (UINT) menu2, "menu");

        SetMenu (hwnd, menu1);

        break;


        case WM_DESTROY:
            PostQuitMessage (0);       /* send a WM_QUIT to the message queue */
            break;
        default:                      /* for messages that we don't deal with */
            return DefWindowProc (hwnd, message, wParam, lParam);
    }

    return 0;
}


Ese es el codigo entero, y la parte donde me falla es esta:ç


Código:
    switch (message)                  /* handle the messages */
    {
        case WM_CREATE:

        HMENU menu1,menu2;

        menu1= CreateMenu();
        menu2= CreateMenu();

        AppendMenu (menu2, MF_STRING, MENSAJE, "mensaje");

        AppendMenu (menu1, MF_STRING | MF_POPUP| (UINT) menu2, "menu");

        SetMenu (hwnd, menu1);

        break;


        case WM_DESTROY:
            PostQuitMessage (0);       /* send a WM_QUIT to the message queue */
            break;
        default:                      /* for messages that we don't deal with */
            return DefWindowProc (hwnd, message, wParam, lParam);
    }

    return 0;


Y la verdad no encuentro el error, espero que vosotros me lo digais. Gracias y Un salu2!


Por cierto el error que me da es este:

Código:
C:\Users\Celia\Pictures\iPod Photo Cache\GUI\main.cpp||In function 'LRESULT WindowProcedure(HWND__*, UINT, WPARAM, LPARAM)':|
C:\Users\Celia\Pictures\iPod Photo Cache\GUI\main.cpp|87|error: invalid conversion from 'const char*' to 'UINT_PTR'|
C:\Users\Celia\Pictures\iPod Photo Cache\GUI\main.cpp|87|error: too few arguments to function 'BOOL AppendMenuA(HMENU__*, UINT, UINT_PTR, const CHAR*)'|
c:\mingw\bin\..\lib\gcc\mingw32\4.5.2\..\..\..\..\include\winuser.h|3462|note: declared here|
||=== Build finished: 3 errors, 0 warnings ===|
32  Programación / Programación C/C++ / Crear interfaz en C++ en: 23 Agosto 2011, 19:18 pm
Buenas,

ya use el buscador y google pero no encontre nada util que me sirviera . Me gustaria saber como crear una interfaz en C++ o cualquier otro lenguaje ya que estoy acostumbrado a .NET que trae su propio digamos "editor de interfaz". He visto otros post con preguntas parecidas pero ninguna me ha quedado claro, si alguien puede aclararmelo mas, decirme que programas necesito..etc Se lo agradeceria.

Un salu2!
33  Programación / Programación C/C++ / Nuevo en C++ en: 18 Agosto 2011, 23:14 pm
Buenas :)

aprovecho para presentarme, soy nuevo en el foro tengo 13 años y tengo conocimientos basicos/medios de vb6 aunque ya olvide una gran parte de vb6 porque ahora me estoy metiendo en el tema de modelado 3D con maya,3d max...etc

El caso, esque quiero volver  a programar y ya que lo hago me gustaria empezar en C++ ya que es mucho mas util segun lo que he leido y demas. Llevo 3 dias y bueno hoy estaba haciendo este codigo:

Código:
#include <iostream>
#include <cmath>


int main () {

using namespace std;

double x;

x= sqrt (9) ;


cout << x << endl;



return 0;

}

Pues lo dicho, lo copilo lo corro y nada, da error , lo que pasa esque no encuentro el error y me gustaria que vosotros me resolvieseis ese codigo tan basico.

Un salu2!
Páginas: 1 2 3 [4]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines