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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación C/C++ / Re: problema en dev c++ con windows.h en: 5 Diciembre 2014, 01:46 am
oyeee muchisimas gracias eres mi heroe, pero me resultan dos preguntas como hago para que esta ventana quede por fuera de la principal (a un lado) y como hago para que salga solo cuando se presione un boton seria dejandola oculta por defecto y despues al presionar el boton colocar el showwindow' y acerca del libro no hay algun otro en español
2  Programación / Programación C/C++ / Re: problema en dev c++ con windows.h en: 4 Diciembre 2014, 23:25 pm
si eso es lo que busco pero no entiendo como abrir 2 ventanas al tiempo, no se donde declarar la segunda ventana si me pueden explicar un poco mas de verdad se lo agradeceria
3  Programación / Programación C/C++ / problema en dev c++ con windows.h en: 4 Diciembre 2014, 23:02 pm
Hola, tengo un problema con un código de interfaz gráfica que estoy creando en el cual no he podido crear paginas hijas o limpiar la pantalla para poner unas nuevas opciones, por favor alguien podría decirme como hacerlo gracias. Este es mi código:


Código
  1. #include <windows.h>
  2. #include <sstream>
  3.  
  4. using namespace std;
  5. /* La función ProcedimientoVentana() es necesaria porque es la
  6.    encargada de recibir los eventos (movimientos del ratón,
  7.    tecla, clics a un botón, etc). En este caso, solo monitorea
  8.    el momento el que el usuario decide cerrar la ventana para
  9.    descargar la aplicación de memoria                           */
  10.  
  11. HWND textbox;  
  12. HWND Etiqueta;
  13. HWND hCTexto;
  14. void ventana_principal(HWND);
  15. void ventana_registroNuevo(HWND);
  16. void ventana_nueva(HWND hwnd);
  17. //void boton1;
  18.  
  19. LRESULT CALLBACK ProcedimientoVentana(HWND hwnd, UINT mensaje,
  20.                                      WPARAM wParam, LPARAM lParam)
  21.  
  22. {
  23.    switch (mensaje)
  24.    {
  25.  
  26.       case WM_DESTROY:{  //salir de la aplicacion
  27.                       //MessageBox(hwnd, "¡Adiós mundo cruel!", "Cerrando...", MB_ICONERROR | MB_OK);
  28.                       PostQuitMessage (0);//Manda WM_QUIT a la cola de mensajes que hará
  29.                                            //que el programa salga del bucle de mensajes              
  30.                        return 0;
  31.                     break;
  32.                       }
  33.      /*case WM_COMAND:{
  34.                      switch(wParam){
  35.                      
  36.                       case
  37.                      
  38.  }
  39.      
  40.      
  41.                break;
  42.                 }*/
  43.  
  44.      case WM_CREATE:
  45.                        {
  46.                         ventana_principal(hwnd);  
  47.                        }
  48.  
  49.    case WM_COMMAND: //Llamadas a funciones de cada boton
  50.    {
  51.    switch(LOWORD(wParam))
  52.    {
  53.     case 2:
  54. {
  55. system ("cls");
  56.  
  57.  ventana_registroNuevo(  hwnd);
  58.  break;
  59.     }
  60.        case 3:
  61. {
  62. //ventana_nueva(hwnd);
  63.      //MessageBox(hwnd,"elemento","ESTA ES LA FUNCION RESTA",MB_OK);//CAJA DE TEXTO TITULO DE LA VENTANA E INTRUCCION DENTRO
  64.  break;
  65.     }
  66.     case 4:
  67. {
  68.  
  69.      MessageBox(hwnd,"elemento","ESTA ES LA FUNCION RESTA",MB_OK);//CAJA DE TEXTO TITULO DE LA VENTANA E INTRUCCION DENTRO
  70.  break;
  71.     }
  72.     case 5:
  73. {
  74. ShowWindow(hwnd, SW_SHOWDEFAULT);
  75.      MessageBox(hwnd,"elemento","Eborro pantallaA",MB_OK);//CAJA DE TEXTO TITULO DE LA VENTANA E INTRUCCION DENTRO
  76.  break;
  77.     }
  78.     case 6: //salir de la aplicacion
  79. {
  80.      //MessageBox(hwnd, "¡Adiós !", "Cerrando...", MB_ICONERROR | MB_OK);
  81.                       PostQuitMessage (0);//Manda WM_QUIT a la cola de mensajes que hará
  82.                                            //que el programa salga del bucle de mensajes              
  83.                        return 0;
  84.     }
  85.  
  86.    }
  87.  
  88.  
  89.    }
  90.    /*case WM_LBUTTONUP:
  91.                         {
  92.                           int xPos = LOWORD(lParam);
  93.                           int yPos = HIWORD(lParam);
  94.  
  95.                          ostringstream os;
  96.                          os << "Hizo clic con el botón izquierdo";
  97.  
  98.                          if (wParam == MK_CONTROL)
  99.                          os << " mientras oprimía la tecla CONTROL";
  100.                          else if (wParam == MK_SHIFT)
  101.                          os << " mientras oprimía la tecla SHIFT";
  102.                          os << "\n\nCoordenadas: " << xPos << ", " << yPos;
  103.  
  104.          MessageBox(hwnd, os.str().c_str(), "Clic!", MB_ICONINFORMATION | MB_OK);
  105.          break;
  106.       }*/
  107.  
  108.    }
  109.    return DefWindowProc (hwnd, mensaje, wParam, lParam);
  110. }
  111.  
  112.  
  113.  
  114. /* Esta cadena se ocupa para la clase de ventana y la función
  115.    CreateWindowEx() se refieran a un mismo nombre */
  116. char szNombreAplicacion[] = "Ejercicio2";
  117.  
  118. int WINAPI WinMain(HINSTANCE hInstancia, HINSTANCE hInstanciaPrev,
  119.                   LPSTR lpLineaCmd, int nEstadoVentana)
  120. {
  121.    //Los 4 pasos para crear una ventana...
  122.    //1. Establecer los 12 campos de la "clase de ventana"
  123.    WNDCLASSEX ventana;
  124.  
  125.    ventana.cbSize        = sizeof(WNDCLASSEX);
  126.    ventana.style         = CS_HREDRAW | CS_VREDRAW;
  127.    ventana.lpfnWndProc   = ProcedimientoVentana; //recibe y maneja los eventos de la ventana como clics movimientos cierre de ventana etc. con punteros
  128.    ventana.cbClsExtra    = 0;
  129.    ventana.cbWndExtra    = 0;
  130.    ventana.hInstance     = hInstancia;
  131.    ventana.hIcon         = LoadIcon (NULL, IDI_APPLICATION);
  132.    ventana.hCursor       = LoadCursor (NULL, IDC_ARROW);
  133.    ventana.hbrBackground =  (HBRUSH) (COLOR_WINDOWTEXT+8);//CreateSolidBrush( RGB(0xa0, 0x60, 0xf8) );
  134.    ventana.lpszMenuName  = NULL;
  135.    ventana.lpszClassName = szNombreAplicacion;//nombre de la clase de ventana
  136.    ventana.hIconSm       = LoadIcon (NULL, IDI_APPLICATION);
  137.  
  138.    //2. Dar de alta en el sistema a la "clase de ventana"
  139.    if( !RegisterClassEx(&ventana) )
  140.    {
  141.      MessageBox(NULL,
  142.                 "No fue posible dar de alta a la ventana, abortando ejecución",
  143.                 "¡Error!", MB_ICONEXCLAMATION | MB_OK);
  144.      return FALSE;
  145.    }
  146.  
  147.    //3. Crear la ventana en base a la "clase de ventana" anteriormente registrada
  148.    HWND hwnd;
  149.    hwnd = CreateWindowEx(
  150.           1,                      //dwExEstilo
  151.           szNombreAplicacion,     //Nombre de clase de la ventana a la que pertenece
  152.           "Tienda de videos",  //Título de la ventana
  153.          //variables que permiten editar intefaz con usiario habilitando o desabilitando botones
  154.   WS_OVERLAPPED |
  155.      WS_CAPTION |
  156.  WS_SYSMENU ,   //poner | despues de cada opcion y coma al final
  157.   //WS_THICKFRAME |
  158.    // WS_MINIMIZEBOX  |
  159.     //WS_MAXIMIZEBOX
  160.  
  161.  
  162.   //WS_OVERLAPPEDWINDOW,    //Tipo de ventana es igual a dwEstilo
  163.           CW_USEDEFAULT,          //Posición de la ventana en pantalla en "x"
  164.           CW_USEDEFAULT,          //Posición de la ventana en pantalla en "y"
  165.           500,                    //Ancho
  166.           450,                    //Alto
  167.           HWND_DESKTOP,
  168.           NULL,
  169.           hInstancia,
  170.           NULL);
  171.  
  172.  
  173.   if(hwnd == NULL)
  174.   {
  175.      MessageBox(NULL, "Error al crear la ventana, abortando ejecución",
  176.                 "¡Error!", MB_ICONEXCLAMATION | MB_OK);
  177.      return FALSE;
  178.   }
  179.  
  180.    //4. Mostrar la ventana en pantalla
  181.    ShowWindow(hwnd, SW_SHOWDEFAULT);
  182.  
  183.    //Necesario para manipular los mensajes o eventos de la ventana
  184.    MSG mensaje;
  185.    while(GetMessage(&mensaje, 0, 0, 0) > 0)  //bucle de mensajes para cola de mensajes entrantes
  186.    {
  187.     TranslateMessage(&mensaje);
  188.        DispatchMessage(&mensaje);
  189.    }
  190.  
  191.    return mensaje.wParam;
  192. }
  193.  
  194. void ventana_principal(HWND hwnd)//se crea ventana principal
  195. {
  196. //MessageBox(hwnd, "Se creó la ventana", "Ejemplo",MB_ICONINFORMATION | MB_OK);
  197.  
  198. Etiqueta = CreateWindowEx(0, "STATIC", "MENU PRINCIPAL",
  199.           WS_CHILD | WS_VISIBLE,
  200.           180,//posicion en x
  201.           200,//posicion en y
  202.           150,//ancho
  203.           30,//alto
  204.               hwnd,
  205.       NULL, 0,0
  206. );
  207.  
  208.  /*textbox= CreateWindow("edit",  
  209.           " Menu principal", //nombre de la ventana
  210.             WS_BORDER | WS_CHILD|
  211.             WS_VISIBLE,
  212.            120,//posicion en x
  213.            180,//posicion en y
  214.            115,//ancho
  215.            20,//alto
  216.            hwnd,
  217.            NULL,NULL,NULL);*/
  218.  
  219.    CreateWindow("BUTTON",
  220.                 "Registro Nuevo",
  221.                 WS_VISIBLE//VIsIBILIDAD DEL OBJETO
  222.                 |WS_CHILD|
  223.         WS_BORDER, //MARGEN AL TEXTO
  224.         90, //x
  225.         240,//y
  226.         130,//ancho
  227.         30,//alto
  228.         hwnd,
  229.         (HMENU)2,NULL,NULL
  230.         );
  231.   CreateWindow("BUTTON",
  232.                "Buscar pelicula",
  233.                 WS_VISIBLE//VIsIBILIDAD DEL OBJETO
  234.                 |WS_CHILD| WS_BORDER,
  235.                 240, //x
  236.                 240,//y
  237.                 130,//ancho
  238.                 30,//alto
  239.                 hwnd,
  240.                (HMENU)3,NULL,NULL
  241.               );
  242.  CreateWindow("BUTTON",
  243.               "Editar Registro",
  244.               WS_VISIBLE//VIsIBILIDAD DEL OBJETO
  245.              |WS_CHILD| WS_BORDER,
  246.               90, //x
  247.               290,//y
  248.               130,//ancho
  249.               30,//alto
  250.               hwnd,
  251.              (HMENU)4,NULL,NULL
  252.              );
  253.   CreateWindow("BUTTON",
  254.                "Eliminar Registro",
  255.                WS_VISIBLE//VIsIBILIDAD DEL OBJETO
  256.               |WS_CHILD| WS_BORDER,
  257.                240, //x
  258.                290,//y
  259.                130,//ancho
  260.                30,//alto
  261.                hwnd,
  262.               (HMENU)5,NULL,NULL
  263.              );
  264.   CreateWindow("BUTTON",//boton salir
  265.                "Salir",
  266.                WS_VISIBLE//VIsIBILIDAD DEL OBJETO
  267.               |WS_CHILD| WS_BORDER,
  268.                180, //x
  269.                340,//y
  270.                110,//ancho
  271.                30,//alto
  272.                hwnd,
  273.               (HMENU)6,NULL,NULL
  274.                );            
  275.  
  276. }
  277.  
  278. void ventana_registroNuevo(HWND hwnd)//se crea ventana para un registro nuevo
  279. {
  280. //MessageBox(hwnd, "Se creó la ventana", "Ejemplo",MB_ICONINFORMATION | MB_OK);
  281.  
  282.  
  283.  
  284. Etiqueta = CreateWindowEx(0, "STATIC", "REGISTRO NUEVO",
  285.           WS_CHILD | WS_VISIBLE,
  286.           170,//posicion en x
  287.           40,//posicion en y
  288.           150,//ancho
  289.           30,//alto
  290.               hwnd,
  291.       NULL, 0,0
  292. );
  293.  
  294. Etiqueta = CreateWindowEx(0, "STATIC", "NOMBRE",
  295.           WS_CHILD | WS_VISIBLE,
  296.           40,//posicion en x
  297.           80,//posicion en y
  298.           70,//ancho
  299.           30,//alto
  300.               hwnd,
  301.       NULL, 0,0
  302. );
  303.  
  304. hCTexto = CreateWindowEx(WS_EX_CLIENTEDGE, "EDIT", "",
  305.                                WS_CHILD | WS_VISIBLE | ES_AUTOHSCROLL,
  306.                                120,
  307.    80,
  308. 270,
  309. 25,
  310. hwnd,
  311. NULL, NULL, NULL);
  312.  
  313. Etiqueta = CreateWindowEx(0, "STATIC", "DIRECTOR",
  314.           WS_CHILD | WS_VISIBLE,
  315.           40,//posicion en x
  316.           120,//posicion en y
  317.           150,//ancho
  318.           30,//alto
  319.               hwnd,
  320.       NULL, 0,0
  321. );
  322.  
  323. Etiqueta = CreateWindowEx(0, "STATIC", "FECHA DE LANZAMIENTO",
  324.           WS_CHILD | WS_VISIBLE,
  325.           40,//posicion en x
  326.           160,//posicion en y
  327.           150,//ancho
  328.           30,//alto
  329.               hwnd,
  330.       NULL, 0,0
  331. );
  332.  
  333. Etiqueta = CreateWindowEx(0, "STATIC", "PROTAGONISTA",
  334.           WS_CHILD | WS_VISIBLE,
  335.           40,//posicion en x
  336.           200,//posicion en y
  337.           150,//ancho
  338.           30,//alto
  339.               hwnd,
  340.       NULL, 0,0
  341. );  
  342.  /*textbox= CreateWindow("edit",  
  343.           " Menu principal", //nombre de la ventana
  344.             WS_BORDER | WS_CHILD|
  345.             WS_VISIBLE,
  346.            120,//posicion en x
  347.            180,//posicion en y
  348.            115,//ancho
  349.            20,//alto
  350.            hwnd,
  351.            NULL,NULL,NULL);*/
  352.  
  353.   CreateWindow("BUTTON",//boton salir
  354.                "GUARDAR",
  355.                WS_VISIBLE//VIsIBILIDAD DEL OBJETO
  356.               |WS_CHILD| WS_BORDER,
  357.                120, //x
  358.                340,//y
  359.                110,//ancho
  360.                30,//alto
  361.                hwnd,
  362.               (HMENU)7,NULL,NULL
  363.                );            
  364.  
  365. }
  366.  
  367.  
  368. /*void ventana_nueva(HWND hwnd)
  369. {
  370. LRESULT CALLBACK ProcedimientoVentana(HWND hwnd, UINT mensaje,
  371.                                       WPARAM wParam, LPARAM lParam)
  372.       {
  373.      
  374.       CreateWindow("BUTTON",//boton salir
  375.                 "GUARDAR",
  376.                 WS_VISIBLE//VIsIBILIDAD DEL OBJETO
  377.                |WS_CHILD| WS_BORDER,
  378.                 120, //x
  379.                 340,//y
  380.                 110,//ancho
  381.                 30,//alto
  382.                 hwnd,
  383.                (HMENU)7,NULL,NULL
  384.                 );            
  385.  }                                
  386.  
  387.  
  388. }*/

Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines