Junio 23, 2018, 02:36:56 am

Autor Tema: Tutorial de uso de apis de windows para crear un entorno grafico  (Leído 47182 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado mDrinky

  • Si te metes con CPH
    te metes conmigo
  • ****
  • Mensajes: 2868
    • Ver Perfil
Re:APIs de Windows y C
« Respuesta #30 en: Julio 18, 2011, 02:16:30 pm »
Las API de windows no son otro lenguaje, son librerías donde se guardan las funciones.
Compilador puedes usar el que quieras porque vas a poder trabajar con las api igualmente.

saludos.
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
Que guapo soy!

Desconectado Onairam

  • Me das tu IP?
  • *
  • Mensajes: 30
    • Ver Perfil
Re:Tutorial de uso de apis de windows para crear un entorno grafico
« Respuesta #31 en: Julio 18, 2011, 02:59:01 pm »
Ah joya1 Era esa la duda nomás! Gracias!

carloospm

  • Visitante
Re:Tutorial de uso de apis de windows para crear un entorno grafico
« Respuesta #32 en: Agosto 24, 2011, 06:10:15 am »
Primeramente agradecerte tu labor en este post, es muy interesante. Segundo presentarme, soy Carlos, soy nuevo en esta comunidad y llevo un tiempo detras de intentar aprender a programar en c. He leido con atencion la primera pagina de este tutorial y te explico mis problemas:

---utilizo visual studio 2010 y a la hora de crear el proyecto no hay ninguno que sea Win32 gui project y me decante por el win32 project y en las opciones marque la casilla de aplicacion para windows.

---una vez iniciado el proyecto el codigo por defecto difiere mucho de lo que tu as publicado aqui. te lo ,muestro:

You are not allowed to view links. Register or Login

Código: You are not allowed to view links. Register or Login
// tallerportalhacker.cpp: define el punto de entrada de la aplicación.
//

#include "stdafx.h"
#include "tallerportalhacker.h"

#define MAX_LOADSTRING 100

// Variables globales:
HINSTANCE hInst; // Instancia actual
TCHAR szTitle[MAX_LOADSTRING]; // Texto de la barra de título
TCHAR szWindowClass[MAX_LOADSTRING]; // nombre de clase de la ventana principal

// Declaraciones de funciones adelantadas incluidas en este módulo de código:
ATOM MyRegisterClass(HINSTANCE hInstance);
BOOL InitInstance(HINSTANCE, int);
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);//PARA EL MANEJO DE LA VENTANA
INT_PTR CALLBACK About(HWND, UINT, WPARAM, LPARAM);

int APIENTRY _tWinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPTSTR    lpCmdLine,//SE GUARDA LA LINEA DE COMANDOS CON LA QUE SE EJECUTO EL PROGRAMA
                     int       nCmdShow)
{
UNREFERENCED_PARAMETER(hPrevInstance);
UNREFERENCED_PARAMETER(lpCmdLine);

  // TODO: colocar código aquí.
MSG msg;
HACCEL hAccelTable;

// Inicializar cadenas globales
LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
LoadString(hInstance, IDC_TALLERPORTALHACKER, szWindowClass, MAX_LOADSTRING);
MyRegisterClass(hInstance);

// Realizar la inicialización de la aplicación:
if (!InitInstance (hInstance, nCmdShow))
{
return FALSE;
}

hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_TALLERPORTALHACKER));


// Bucle principal de mensajes:
while (GetMessage(&msg, NULL, 0, 0))
{
if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}

return (int) msg.wParam;
}



//
//  FUNCIÓN: MyRegisterClass()
//
//  PROPÓSITO: registrar la clase de ventana.
//
//  COMENTARIOS:
//
//    Esta función y su uso son sólo necesarios si desea que el código
//    sea compatible con sistemas Win32 anteriores a la función
//    'RegisterClassEx' que se agregó a Windows 95. Es importante llamar a esta función
//    para que la aplicación obtenga iconos pequeños bien formados
//    asociados a ella.
//
ATOM MyRegisterClass(HINSTANCE hInstance)
{
WNDCLASSEX wcex;

wcex.cbSize = sizeof(WNDCLASSEX);

wcex.style = CS_HREDRAW | CS_VREDRAW;
wcex.lpfnWndProc = WndProc;
wcex.cbClsExtra = 0;
wcex.cbWndExtra = 0;
wcex.hInstance = hInstance;
wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_TALLERPORTALHACKER));
wcex.hCursor = LoadCursor(NULL, IDC_ARROW);
wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
wcex.lpszMenuName = MAKEINTRESOURCE(IDC_TALLERPORTALHACKER);
wcex.lpszClassName = szWindowClass;
wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL));

return RegisterClassEx(&wcex);
}

//
//   FUNCIÓN: InitInstance(HINSTANCE, int)
//
//   PROPÓSITO: guardar el identificador de instancia y crear la ventana principal
//
//   COMENTARIOS:
//
//        En esta función, se guarda el identificador de instancia en una variable común y
//        se crea y muestra la ventana principal del programa.
//
BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
{
   HWND hWnd;

   hInst = hInstance; // Almacenar identificador de instancia en una variable global

   hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
      CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);

   if (!hWnd)
   {
      return FALSE;
   }

   ShowWindow(hWnd, nCmdShow);
   UpdateWindow(hWnd);

   return TRUE;
}

//
//  FUNCIÓN: WndProc(HWND, UINT, WPARAM, LPARAM)
//
//  PROPÓSITO: procesar mensajes de la ventana principal.
//
//  WM_COMMAND : procesar el menú de aplicación
//  WM_PAINT : pintar la ventana principal
//  WM_DESTROY : enviar un mensaje de finalización y volver
//
//
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
int wmId, wmEvent;
PAINTSTRUCT ps;
HDC hdc;

switch (message)
{

case WM_COMMAND:
wmId    = LOWORD(wParam);
wmEvent = HIWORD(wParam);
// Analizar las selecciones de menú:
switch (wmId)
{
case IDM_ABOUT:
DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);
break;
case IDM_EXIT:
DestroyWindow(hWnd);
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
break;
case WM_PAINT:
hdc = BeginPaint(hWnd, &ps);
// TODO: agregar código de dibujo aquí...
EndPaint(hWnd, &ps);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
return 0;
}

// Controlador de mensajes del cuadro Acerca de.
INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
UNREFERENCED_PARAMETER(lParam);
switch (message)
{
case WM_INITDIALOG:
return (INT_PTR)TRUE;

case WM_COMMAND:
if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)
{
EndDialog(hDlg, LOWORD(wParam));
return (INT_PTR)TRUE;
}
break;
}
return (INT_PTR)FALSE;
}



---debidoa  todo eso no he podido hacer las modificaciones que tu realizas porque me dan errores de tipo de datos, te pediria alguna orientacion de como afrontar el problema y algunas referencias bibliograficas o de contenido que me hace falta empollar,gracias por todo, un saludo!
« Última modificación: Agosto 24, 2011, 09:44:24 am por .xAk. »

Desconectado .xAk.

  • el engendro
  • Moderador
  • *****
  • Mensajes: 7316
  • Sexo: Masculino
  • F0r3v3R NeWbI3
    • Ver Perfil
Re:Tutorial de uso de apis de windows para crear un entorno grafico
« Respuesta #33 en: Agosto 26, 2011, 12:00:53 am »
inicia un proyecto en blanco. ¿No lo tienes? aquí sólo hay una diferencia notable y es que utilizas las cabeceras precompiladas. En el curso no se hace uso de ellas. En el curso de C++ se explica.

Las cabeceras precompiladas de ms, encierran al uso en el uso de sólo su compilador, por lo que si lo que quieres hacer lo quieres para varios compiladores no te sirve. Y aquí mostramos para varios compiladores.

SaludOS
Is the truth out there?

Desconectado rokzter

  • Me das tu IP?
  • *
  • Mensajes: 2
  • Sexo: Masculino
  • Amo programar
    • Ver Perfil
Re:Tutorial de uso de apis de windows para crear un entorno grafico
« Respuesta #34 en: Agosto 29, 2011, 09:08:28 am »
wow eso si es tener pasion por el c++ espero que eso me ayude mucho
saludos




la saviduria es para usarla con inteligencia

Desconectado The Swash

  • Me das tu IP?
  • *
  • Mensajes: 15
    • Ver Perfil
Re:Tutorial de uso de apis de windows para crear un entorno grafico
« Respuesta #35 en: Octubre 10, 2011, 09:05:34 am »
En realidad muy bueno, podrías pasarlo a .doc o .pdf.
Un saludo y gracias.

Desconectado Avoidance25

  • Moderador
  • *****
  • Mensajes: 1248
  • Sexo: Masculino
  • Da gehört eiskrem aber nicht hin xD
    • Ver Perfil
    • sytes
Re:Tutorial de uso de apis de windows para crear un entorno grafico
« Respuesta #36 en: Octubre 10, 2011, 09:11:14 am »
Es mucho trabajo.... osea no.
Ademas, este es un aporte para cph, si hubiera una version pdf dejaria de serlo.

 :cura:
You are not allowed to view links. Register or Login
por ejemplo, se habla de emprender la You are not allowed to view links. Register or Login con el "fusil de carne" y se insta a una mujer a introducir You are not allowed to view links. Register or Login en su You are not allowed to view links. Register or Login

Desconectado darkgx

  • Yo vivo en CPH
  • ***
  • Mensajes: 468
  • "Solo sé que no sé nada". Sócrates
    • Ver Perfil
    • Arte Sin Igual
[C++]Evitar resize de ventana
« Respuesta #37 en: Marzo 05, 2012, 04:04:44 pm »
Hola estoy empezando a probar ventanas con winapi en c++ y quería saber como evitar que la ventana permita el resize. O ea, quiero ponerle yo le tamaño y que no se pueda cambiar.

Espero su repuesta, saludos y gracias de antemano
« Última modificación: Marzo 05, 2012, 04:07:53 pm por darkgx »


Desconectado petrusqui

  • Me das tu IP?
  • *
  • Mensajes: 19
  • Sexo: Masculino
  • ¿Hay limites para el conocimiento?
    • Ver Perfil
    • Sobre Todo
Re:Tutorial de uso de apis de windows para crear un entorno grafico
« Respuesta #38 en: Abril 09, 2012, 03:04:33 am »
Muy buen tutorial, cuando sepa un poco más de C++ lo intentaré leer linea por linea para entender-lo por completo! :) Una pregunta, ¿no conoceréis algún libro de la API de Windows para después ampliar la información?


Saludos, petrusqui.
Un foro modesto para hablar de la programación You are not allowed to view links. Register or Login

Desconectado .xAk.

  • el engendro
  • Moderador
  • *****
  • Mensajes: 7316
  • Sexo: Masculino
  • F0r3v3R NeWbI3
    • Ver Perfil
Re:Tutorial de uso de apis de windows para crear un entorno grafico
« Respuesta #39 en: Abril 09, 2012, 06:06:13 am »
onLine, optendrás la documentación más actual: You are not allowed to view links. Register or Login

Si prefieres un tomo, hay mucha variedad de ellos, asegúrate que haga referencia a la api actual. No se, pero hay buscadores, por ejemplo en http://www.buscalibros.cl

SaludOS

Desconectado daryo

  • Yo vivo en CPH
  • ***
  • Mensajes: 640
  • Sexo: Masculino
    • Ver Perfil
    • rootnets
como puedo cambiar color al label con api de windows?
« Respuesta #40 en: Junio 12, 2012, 12:50:36 pm »
estaba intentando hacer el pantallazo azul con la api de windows pero como se le cambia el color al laber aca esta el code que llevo

Código: (c) You are not allowed to view links. Register or Login
#include <windows.h>


/*  Declare Windows procedure  */
LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);


HWND Control(HWND hwn, HWND hwnd)
{
  if (hwn == NULL)
    MessageBox(hwnd, "No se puede crear el control.", "¡Error!",
               MB_OK | MB_ICONERROR);
  else
    SendMessage(hwn, WM_SETFONT, (WPARAM) GetStockObject(DEFAULT_PALETTE),
                MAKELPARAM(FALSE, 0));

  return hwn;
}



HWND labeel(HWND hwnd,LPSTR texto,int x, int y, int ancho, int alto)
{
     HWND hlabeel;
     hlabeel= CreateWindowEx(0,"STATIC",texto,WS_CHILD | WS_VISIBLE| WS_EX_LAYERED,x,y,ancho,alto,hwnd,0,0,0);
     
     return Control(hlabeel, hwnd);
     

}

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

int WINAPI WinMain (HINSTANCE hThisInstance,
                    HINSTANCE hPrevInstance,
                    LPSTR lpszArgument,
                    int nFunsterStil)

{
    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 color as the background of the window */
    wincl.hbrBackground = CreateSolidBrush( RGB(0x00, 0x00, 0xFF) );

    /* 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 */
           "Windows App",       /* Title Text */
           WS_POPUP, /* 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, SW_SHOWMAXIMIZED);
    ShowCursor(FALSE);

    /* 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()  */


HWND label;
LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    switch (message)                  /* handle the messages */
    {
        case WM_CREATE:
             label=labeel(hwnd,"WINDOWS",500, 200, 80, 20);
             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;
}

« Última modificación: Junio 12, 2012, 03:00:39 pm por daryo »
._. no me editen mi firma #$!

Desconectado Avoidance25

  • Moderador
  • *****
  • Mensajes: 1248
  • Sexo: Masculino
  • Da gehört eiskrem aber nicht hin xD
    • Ver Perfil
    • sytes
Re:Tutorial de uso de apis de windows para crear un entorno grafico
« Respuesta #41 en: Junio 16, 2012, 07:12:51 am »

De la misma manera en la que se le cambia el color al los edits, pero en el evento WM_CTLCOLORSTATIC.

 :cura:

Desconectado daryo

  • Yo vivo en CPH
  • ***
  • Mensajes: 640
  • Sexo: Masculino
    • Ver Perfil
    • rootnets
Re:Tutorial de uso de apis de windows para crear un entorno grafico
« Respuesta #42 en: Junio 16, 2012, 04:35:59 pm »
gracias :)

Desconectado daryo

  • Yo vivo en CPH
  • ***
  • Mensajes: 640
  • Sexo: Masculino
    • Ver Perfil
    • rootnets
Re:Tutorial de uso de apis de windows para crear un entorno grafico
« Respuesta #43 en: Julio 15, 2012, 08:57:35 am »
perdon el doble post , pero no me cambio el color:
puse esto :

Código: (c) You are not allowed to view links. Register or Login
        case WM_CTLCOLORSTATIC:
        if(lParam==(LPARAM)labeel){
                SetBkColor((HDC)wParam, RGB(0,0,255));
                SetTextColor((HDC)wParam, RGB(0,0,0));
            }
            break;
ya lo solucione :P
« Última modificación: Julio 17, 2012, 08:03:54 am por daryo »

Desconectado Miguell64x

  • Me das tu IP?
  • *
  • Mensajes: 6
  • Sexo: Masculino
  • Yo AMO a pOrtal HAcker!
    • Ver Perfil
Re:Tutorial de uso de apis de windows para crear un entorno grafico
« Respuesta #44 en: Julio 21, 2012, 12:51:22 am »
Primero que nada me gustaría agradecer este post, me sorprende que tan poca gente haya comentado...

Lo segundo y el motivo real por el que comento es que tengo la duda de que siempre que corro el programita también arranca la consola cmd, me gustaría saber como hacer para que no se habrá la consola y así quede algo más como un programa "real" xD

Dejo una imagen para que se entienda.



Saludos
« Última modificación: Julio 21, 2012, 12:54:21 am por Miguell64x »


xx
Nueva ventana (entorno grafico con APIS de windows)

Iniciado por soez

15 Respuestas
6121 Vistas
Último mensaje Julio 31, 2010, 08:40:38 am
por myguestp
xx
Crear un entorno gráfico

Iniciado por LinkStudios

1 Respuestas
1367 Vistas
Último mensaje Mayo 04, 2009, 03:03:04 pm
por Ni0
exclamation
Programa para facilitar la creación de un entorno gráfico con WinApi

Iniciado por Avoidance25

2 Respuestas
1374 Vistas
Último mensaje Mayo 01, 2010, 04:50:11 am
por Avoidance25
question
C++ y Entorno Grafico

Iniciado por jamp

4 Respuestas
1882 Vistas
Último mensaje Diciembre 06, 2009, 04:30:49 am
por .xAk.
resuelto
Java desde 0?, entorno gráfico.

Iniciado por Ike Array

2 Respuestas
2189 Vistas
Último mensaje Diciembre 01, 2011, 09:39:46 pm
por Ike Array
xx
Problema con entorno grafico ¿jprogressbar?

Iniciado por Mark160

1 Respuestas
1229 Vistas
Último mensaje Febrero 22, 2011, 08:50:58 pm
por Kreusser
resuelto
[Solucionado]Un par de dudas C++ (entorno grafico)

Iniciado por JaAViEr

2 Respuestas
1119 Vistas
Último mensaje Mayo 01, 2010, 12:49:34 pm
por JaAViEr
exclamation
Programa Inutil C++ Entorno Grafico

Iniciado por JaAViEr

3 Respuestas
2462 Vistas
Último mensaje Abril 21, 2010, 08:03:20 am
por Avoidance25
exclamation
Programa C++ Entorno Grafico - Frame Based.

Iniciado por JaAViEr

4 Respuestas
2486 Vistas
Último mensaje Abril 22, 2010, 01:40:26 pm
por JaAViEr
question
¿Cómo instalar el entorno gráfico en Minix 3.1.8?

Iniciado por Elathriel

3 Respuestas
4521 Vistas
Último mensaje ſeptiembre 27, 2010, 03:08:15 pm
por Sagitarius