Usuario: anónimo

Usuarios en línea: 1
Invitados: 1

FAQ

Hilo

1m
solicitud de informacion
U(Rafael Herrera) 2020-02-15 19:32:33

Buenas Tardes, debo confesar que estoy iniciandome en la programacion con la API de windows, estoy siguiendo el curso de WIN API CON CLASE, hasta el momento estoy el modulo 6, Dialogo Basico, he bajado el ejercicio 4, lo he transcrito como un proyecto en el editor de texto del dev c++, al compilarlo me da el siguiente error32 E:\PROYECTOS CONCLASE\Makefile.win recipe for target 'Proyecto_ConClase_003A_private.res' failed 

y señala en el MakeFile.win$(WINDRES) -i Proyecto_ConClase_003A_private.rc -F pe-i386 --input-format=rc -o Proyecto_ConClase_003A_private.res -O coff Agradeceria informarme que he hecho mal.A continuacion el proyecto completo:#include <stdio.h>#include <windows.h> #include"win003A.h"/* Declaración del procedimiento de ventana */LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);BOOL CALLBACK DlgProc(HWND, UINT, WPARAM, LPARAM);BOOL CALLBACK DlgProc2(HWND, UINT, WPARAM, LPARAM);int WINAPI WinMain (HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpszArgument, int nFunsterStil) {    HWND hwnd; /* Manipulador de ventana */    MSG mensaje; /* Mensajes recibidos por la aplicación */    WNDCLASSEX wincl; /* Estructura de datos para la clase de ventana */    /* Estructura de la ventana */    wincl.hInstance = hThisInstance;    wincl.lpszClassName = "NUESTRA_CLASE";    wincl.lpfnWndProc = WindowProcedure; /* Esta función es invocada por Windows */    wincl.style = CS_DBLCLKS; /* Captura los doble-clicks */    wincl.cbSize = sizeof (WNDCLASSEX);    wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);/* Usar icono y puntero por defector */    wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);    wincl.hCursor = LoadCursor (NULL, IDC_ARROW);    wincl.lpszMenuName = "menu";    wincl.cbClsExtra = 0; /* Sin información adicional para la */    wincl.cbWndExtra = 0; /* clase o la ventana */    wincl.hbrBackground = GetSysColorBrush(COLOR_BACKGROUND);/* Usar el color de fondo por defecto para la ventana */   if(!RegisterClassEx(&wincl))/* Registrar la clase de ventana, si falla, salir del programa */    return 0; /* La clase está registrada, crear la ventana */    hwnd = CreateWindowEx( 0, /* Posibilidades de variación */    "NUESTRA_CLASE", /* Nombre de la clase */    "Ejemplo 004", /* Texto del título */    WS_OVERLAPPEDWINDOW, /* Tipo por defecto */    CW_USEDEFAULT, /* Windows decide la posición */    CW_USEDEFAULT, /* donde se coloca la ventana */    544, /* Ancho */   375, /* Alto en pixels */    HWND_DESKTOP, /* La ventana es hija del escritorio */    NULL, /* Sin menú */    hThisInstance, /* Manipulador de instancia */    NULL /* No hay datos de creación de ventana */    );   ShowWindow(hwnd, SW_SHOWDEFAULT);/* Mostrar la ventana */    while(TRUE == GetMessage(&mensaje, NULL, 0, 0))/* Bucle de mensajes, se ejecuta hasta que haya error o GetMessage devuelva FALSE */      {      TranslateMessage(&mensaje);/* Traducir mensajes de teclas virtuales a mensajes de caracteres */      DispatchMessage(&mensaje); /* Enviar mensaje al procedimiento de ventana */   }    return mensaje.wParam; /* Salir con valor de retorno */   }  LRESULT CALLBACK WindowProcedure(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)/* Esta función es invocada por la función DispatchMessage() */    {     static HINSTANCE hInstance;    int veces;     switch (msg) /* manipulador del mensaje */        {  case WM_CREATE: hInstance = ((LPCREATESTRUCT)lParam)->hInstance;      return 0;      break;      case WM_COMMAND:     switch(LOWORD(wParam))         {      case CM_DIALOGO:     DialogBox(hInstance, "DialogoPrueba", hwnd, DlgProc);     break;  case CM_DIALOGO2:   veces++;   DialogBoxParam(hInstance, "DialogoPrueba", hwnd, DlgProc2, veces);   break;            }    break;    case WM_DESTROY: PostQuitMessage(0); /* envía un mensaje WM_QUIT a la cola de mensajes */    break;    default: /* para los mensajes de los que no nos ocupamos */    return DefWindowProc(hwnd, msg, wParam, lParam);        }    return 0;  }    BOOL CALLBACK DlgProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)  {     switch (msg) /* manipulador del mensaje */        {    case WM_INITDIALOG:     return TRUE;  case WM_COMMAND:     EndDialog(hDlg, FALSE);     return TRUE;        }    return FALSE;       }       BOOL CALLBACK DlgProc2(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)       {   char texto[25];   switch (msg) /* manipulador del mensaje */    {    case WM_INITDIALOG:        sprintf(texto, "Veces invocado: %d", lParam);     SetWindowText(GetDlgItem(hDlg, TEXTO), texto);     return TRUE;        case WM_COMMAND:        EndDialog(hDlg, FALSE);     return TRUE;  }  return FALSE;    }

Archivo .h/* Identificadores */ /* Identificadores de comandos */#define CM_DIALOGO 101#define TEXTO 100

Archivo de recursos

#include <windows.h>#include "win003.h"menu MENU BEGIN POPUP "&Principal"    BEGIN MENUITEM "&Diálogo", CM_DIALOGO    ENDENDDialogoPrueba DIALOG 0, 0, 118, 48STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTIONCAPTION "Diálogo de prueba"FONT 8, "Helv" BEGIN     CONTROL "Mensaje de prueba", TEXTO, "static", SS_LEFT | WS_CHILD | WS_VISIBLE, 8, 9, 84, 8     CONTROL "Aceptar", IDOK, "button", BS_PUSHBUTTON | BS_CENTER | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 56, 26, 50, 14 END

Gracias de antemano por la atencion que puedan prestarle a la presente solicitudPD: Realmente no se si esta sea la via para solicitar ayuda, si no lo es, favor indicarme donde debo dirijirme... Gracias

_______________________________________________

Lista de correo Cconclase Cconclase@listas.conclase.net

http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net

Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ