[C con Clase] Win32 sin ficheros de recursos

Ferran Ferri ferranferri en gmail.com
Lun Feb 26 12:15:19 CET 2007


Gracias por la respuesta:

On 2/26/07, Salvador Pozo <salvador en conclase.net> wrote:
>
> El pasado 2007-02-26 10:47:27, Ferran Ferri escribió:
>
> FF> Hola a todos. Me preguntaba si es posible crear, con win32, guis con
> FF> botones, texto, iconos, etc... sin usar ficheros de recursos.
> Ultimamente
> FF> leo tutoriales de win32 pero o bien code blocks no gestiona bien los
> FF> recursos, o usa un sistema diferente de usarlos o algo asi. La cosa es
> que
> FF> no me funcionan, y no tengo manera de saber cual es el fallo (un
> simple
> FF> sysntax error, en la linea). Asi que voy a ver si es posible crear
> ventanas
> FF> sin usarlos.
> FF> Existe algun documento o tutorial que explique esto?
>
> Hola:
>
> Es relativamente simple insertar controles en cualquier ventana usando las
> funciones CreateWindow o CreateWindowEx, tan sólo hay que saber el nombre de
> la clase de ventana a la que pertenece el control.
>
> Por ejemplo, los botones pertenecen a la clase "BUTTON" y los combo boxes
> a "COMBOBOX", etc.
>
> Estos temas se tratan en los próximos capítulos del curso del WinAPI de
> nuestra página, que espero estén disponibles en breve (dias o semanas,
> depende del tiempo que pueda dedicarle).
>
> Mientras tanto, puedes experimentar con esas funciones. La parte lógica
> para insertar controles es al procesar los mensajes WM_CREATE o
> WM_INITDIALOG, para ventanas o cuadros de diálogo, respectivamente.
>
> Para insertar, por ejemplo, un control de edición, podemos usar esta
> llamada:
>
>        case WM_CREATE:
>           hInstance = ((LPCREATESTRUCT)lParam)->hInstance;
>           /* Insertar control Edit */
>           hctrl = CreateWindow(
>              "EDIT",          /* Nombre de la clase */
>              "",              /* Texto del título, no tiene */
>              ES_LEFT | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, /*
> Estilo */
>              36, 20,          /* Posición */
>              120, 20,         /* Tamaño */
>              hwnd,            /* Ventana padre */
>              (HMENU)ID_TEXTO, /* Identificador del control */
>              hInstance,       /* Instancia */
>              NULL);           /* Sin datos de creación de ventana */
>           /* Inicialización de los datos de la aplicación */
>           SetDlgItemText(hwnd, ID_TEXTO, "Inicial");
>           SetFocus(hctrl);
>           return 0;
>
> En este ordenador no tengo instalado CodeBlocks, pero en casa sí.
> Intentaré ver qué problema tiene este IDE con los ficheros de recursos.


Te pongo un ejemplo que no me compila bien:


IDD_ABOUT DIALOG DISCARDABLE 0, 0, 239, 66 STYLE DS_MODALFRAME | WS_POPUP |
WS_CAPTION | WS_SYSMENU
CAPTION "My About Box"
FONT 8, "MS Sans Serif"
BEGIN
 PUSHBUTTON   "&OK",IDOK,174,18,50,14
 PUSHBUTTON      "&Cancel",IDCANCEL,174,35,50,14
 GROUPBOX        "About this program...",IDC_STATIC,7,7,225,52
 CTEXT           "An example program showing how to use Dialog
Boxes\r\n\r\nby theForger",IDC_STATIC,16,18,144,33
END

Esto lo he sacado de http://winprog.org/tutorial/es/dialogs.html La idea es
que me da un systax error. Pero mas que preocuparme el que funcione o no, lo
que me "mata" es que la informacion sobre loq ue falla es inexistente, y no
puedo quedarme parado simplemente con un "syntax error". Existe algun editor
Free de recursos un poco mas completo?



Gracias

Hasta pronto.
>
> --
> Salvador Pozo (Administrador)
> mailto:salvador en conclase.net
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20070226/dc60d214/attachment.html>


Más información sobre la lista de distribución Cconclase