Bennu Game Development

Foros en Español => Extensiones => Mensaje iniciado por: Prg en Enero 05, 2011, 04:30:26 am

Título: GUI_SO (áreas de texto, botones, barras, tablas, menús, etc)
Publicado por: Prg en Enero 05, 2011, 04:30:26 am
Guiso es un conjunto de elementos de interfaz gráfica para entrada y salida en bennu.

Cuenta actualmente con 22 test de ejemplo de uso, la lista es:

Citar
Test01 Ejemplo de uso de botones nativos
Test02 Ejemplo de uso de un botón booleano
Test03 Ejemplo de uso de barras de desplazamiento de valores
Test04 Ejemplo de uso de lista de botones de tipo check
Test05 Ejemplo de uso de Lineas de texto (Introducción de texto) y copiado de texto seleccionado
Test06 Ejemplo de uso de uso de Etiquetas y botones a partir de gráficos previamente cargados
Test07 Ejemplo de uso de Contenedor y reposicionamiento de los contenedores. Contenedor visible mediante gráfico a la medida
Test08 Ejemplo de uso de todos los elementos descritos anteriormente en una sola pantalla.
Test09 Ejemplo de uso de barras
Test10 Ejemplo de uso de estado dormido/despierto de elementos gui (probado sólamente con botones, pero debería funcionar con todos los elementos gui)
Test11 Ejemplo de menús. Botones que al precionarse despliegan otros
Test12 Ejemplo de uso de efectos personalizados al pasar el ratón por un botón
Test13 Ejemplo de uso de mensajes que bloquean todos los demás objetos gui hasta que se les atiende
Test14 Ejemplo de mensajes flotantes que no duermen a los demás objetos gui
Test15 Ejemplo de barra con máximo variable
Test16 Ejemplo de listas con elementos
Test17 Ejemplo de listas con Textos y listas emergentes de texto.
Test18 Ejemplo de Uso de mensajes con listas de texto y objetos
Test19 Ejemplo de listas de texto emergentes
Test20 Ejemplo de áreas de texto
Test21 Ejemplo de personalización de aspecto gráfico de gui_so
Test22 Ejemplo de menú de click derecho


Capturas
(http://i247.photobucket.com/albums/gg149/rolix1/fotos%20para%20bennu/test08.jpg)
(http://i247.photobucket.com/albums/gg149/rolix1/fotos%20para%20bennu/Test09.jpg)
(http://i247.photobucket.com/albums/gg149/rolix1/fotos%20para%20bennu/Test11.jpg)
(http://i247.photobucket.com/albums/gg149/rolix1/fotos%20para%20bennu/mensajes.png)
(http://i247.photobucket.com/albums/gg149/rolix1/fotos%20para%20bennu/barras.jpg)
(http://i247.photobucket.com/albums/gg149/rolix1/fotos%20para%20bennu/test21.jpg)
(http://i247.photobucket.com/albums/gg149/rolix1/fotos%20para%20bennu/test17.jpg)
(http://i247.photobucket.com/albums/gg149/rolix1/fotos%20para%20bennu/despeg.jpg)

Link de la última versión

http://www.mediafire.com/?5ae5s5z44lbvts8 (http://www.mediafire.com/?5ae5s5z44lbvts8)

Gui_so cuenta con una ayuda escrita, el índice se muestra a continuación.

Citar
Indice
1 Globales de Gui so 3
1.1 gui color borde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 gui color Fondo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 gui focus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 gui fuente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.5 gui sel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.6 gui mano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.7 gui
echa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.8 gui textoo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.9 gui separacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.10 gui tiempo text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.11 gui id ant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.12 gui intervalo insercion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Constantes de Gui so 4
2.1 GUI BOOLEANO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2 GUI HORIZONTAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.3 GUI VERTICAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.4 GUI CUADROS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.5 GUI CIRCULOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.6 GUI DORMIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.7 GUI DESPERTAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.8 GUI TODOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.9 GUI ANCHOIZQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.10 GUI ANCHODER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.11 GUI ALTOSUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.12 GUI ALTOINF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3 Locales de Gui so 5
4 Macros especiales de Gui so 5
4.1 gui Ttamano(a) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4.2 p tipo(a) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
5 Funciones extras a los elementos gui 6
5.1 compone(fpg,gra co,ancho,alto) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5.2 getTam(id, núm) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5.2.1 GUI ANCHOIZQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5.2.2 GUI ANCHODER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5.2.3 GUI ALTOSUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5.2.4 GUI ALTOINF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5.3 cambiaEstado(id, estado) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
5.4 gui inicializa(gui
echaz,gui manoz,gui textooz) . . . . . . . . . . . . . . . . . . . . 7
5.5 gui actualiza() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
5.6 gui gGContenedor(cnt) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
5.7 gui arma gB(ancho,alto,nombre,tipo) . . . . . . . . . . . . . . . . . . . . . . . . . . 7
5.8 gui actualizaZ(contenedor) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
5.9 gui add(contenedor,int obj) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
5.10 gui mueveContenedor(contenedor,int x,y) . . . . . . . . . . . . . . . . . . . . . . . 8
5.11 gui CopiaTS(elemento de texto) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
5.12 gui ultimaZ() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
5.13 gui tomaEstado(gui MDespl) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
5.14 gui propaga(contenedor, estado) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
5.15 gui mueveMensaje(Mensaje,x,y) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
5.16 gui muestraMensaje(Mensaje, Nombre) . . . . . . . . . . . . . . . . . . . . . . . . 8
5.17 gui cierra(Mensaje) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
5.18 gui mataLista(gui ObjetoLista,bol) . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
5.19 gui de neLista(gui ObjetoLista, puntero a nueva lista, cantidad de elementos en la
lista) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
5.20 gui de neListaTexto(gui TextoLista, String puntero lista, tama~no) . . . . . . . . . 9
5.21 gui dentroLista( a,x,y) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
5.22 gui espera(a) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
5.23 gui botonCambiaGra co(gui boton,c,d) . . . . . . . . . . . . . . . . . . . . . . . . 9
5.24 gui textoActualiza(c) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
5.25 gui textoPega(Objeto de Texto,string s, string puntero origen) . . . . . . . . . . . 9
6 Elementos gui 10
6.1 gui LLBarra( chero, gráfi co1, gráfi co2, x, y, ancho, alto, region, direccion, valor
Mínimo, valor máximo, puntero valor) . . . . . . . . . . . . . . . . . . . . . . . . . 10
6.2 gui contenedor(z) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
6.3 gui botonG( chero, gráfi co1,gráfi co 2, x,y,valor , puntero a variable) . . . . . . . . 10
6.4 gui boton(x, y, ancho, alto, string nombre, valor, puntero a variable) . . . . . . . . 10
6.5 gui check(x,y,ancho,alto,string nombre, tipo, puntero a variable, valor) . . . . . . . 10
6.6 gui CheckList(x,y,ancho,alto,tipo, cantidad, string puntero nombre, puntero point,
puntero variable, dirección) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
6.7 gui Barra(x,y,ancho, alto, valor Mínimo , dirección,valor máximo, puntero a la variable)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
6.8 gui Etiqueta( fichero,gráfico co,x,y,descarga) . . . . . . . . . . . . . . . . . . . . . . . . 11
6.9 gui texto(fuente,x,y,ancho,string puntero texto) . . . . . . . . . . . . . . . . . . . . 11
6.10 gui MDespl(x, y, ancho, alto, String a, String puntero b,tama~no) . . . . . . . . . . 11
6.11 gui Mensaje(botón cerrar) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
6.12 gui MenuOpciones() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
6.13 gui BarraDesplazamientoVariable(x, y, ancho, alto, dirección, elementos, puntero a
variable, puntero a máximo) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
6.14 gui ObjetoLista (x, y, region, direccón, ancho, alto, ancho objeto, alto objeto,
tama~no de la barra, factor, cantidad, puntero a lista) . . . . . . . . . . . . . . . . . 12
6.15 gui TextoLista(x, y, dirección, ancho, alto, ancho objetos, alto objetos, tamaño de
la barra, cantidad, String puntero lista, puntero seleccion) . . . . . . . . . . . . . . 13
6.16 gui MDesplLista(x, y, ancho, alto, String puntero textos, tamaño) . . . . . . . . . . 13
6.17 gui MDesplListaEmer(x, y, ancho, alto, String puntero textp,tamaño) . . . . . . . 13
6.18 gui areaTexto(fuente, x, y, ancho, alto, string puntero texto, tamaño de la barra de
desplazamiento, interlineado) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
6.19 gui MenuDesplegado(x, y, ancho, alto, String puntero b, tamaño) . . . . . . . . . . 14
7 Isertar elementos con -1 y -2 en sus coordenadas 15
8 Rede nir los gráfi cos por defecto del Gui so 16
8.1 De nir nuestros propios efectos de los botones cuando pasa el ratóon sobre ellos . . 18

gui_so se está desarrollando en bennu y para bennu, el link del proyecto es:

http://forum.bennugd.org/index.php?topic=1752.msg34649#new
Título: Re: GUI_SO (áreas de texto, botones, barras, tablas, menús, etc)
Publicado por: Fede en Enero 05, 2011, 06:24:56 am
¡KARMAZO!
Título: Re: GUI_SO (áreas de texto, botones, barras, tablas, menús, etc)
Publicado por: Outlaw en Enero 05, 2011, 04:21:57 pm
Karma up!!!!!!!! Excelente trabajo!
Título: Re: GUI_SO (áreas de texto, botones, barras, tablas, menús, etc)
Publicado por: Milton884 en Mayo 28, 2011, 12:05:01 am
Con la version pasada del BennuPack podia probar los ejemplos, pero ahora con la nuva version 2.1 de bennu pack (creo q es 2.1 el numero), me tira error en el modulo GUI_SO en la linea 667, que la variable "ancho" ya esta predefinida... me fijo abajo de todo pero..... no es asi.... me toy volviendo loco :P....

Alguien me puede dar una ayuda?

Pido porfavor q alguien q tenga el GUI_SO con los ejemplos lo ejecute un ejemplo para ver q es tal cual como digo, asi pueden ayudar.

gracias desde Ya
Título: Re: GUI_SO (áreas de texto, botones, barras, tablas, menús, etc)
Publicado por: SplinterGU en Mayo 28, 2011, 12:21:36 am
la gui_so no es una dlc? y en tu codigo vos estas definiendo _ancho?

si es asi, seguramente no puedes hacerlo porque ya esta definido dentro del dlc, o si esta en un .h, seguramente estas incluyendo el .h en varios fuentes.
Título: Re: GUI_SO (áreas de texto, botones, barras, tablas, menús, etc)
Publicado por: l1nk3rn3l en Mayo 28, 2011, 01:23:37 am
por lo que veo es en la declaracion de los procesos no es igual...

declare process gui_boton(int x,y,anch,alt,string nombre,int val,*accion);
private
public graph2,graph1;
   gui_datos
end
end


y el codigo es largo .. asi que sigo viendo la TV...  :-X


Título: Re: GUI_SO (áreas de texto, botones, barras, tablas, menús, etc)
Publicado por: KeoH en Mayo 28, 2011, 02:24:31 pm
a mi tampoco me funciona :( ... ni los de ejemplo xD
Título: Re: GUI_SO (áreas de texto, botones, barras, tablas, menús, etc)
Publicado por: Prg en Mayo 31, 2011, 11:08:04 pm
En breve lo reviso, disculpen los inconvenientes. También necesito actualizar me versión de bennu, no sabía que había nueva. Saludos
Título: Re: GUI_SO (áreas de texto, botones, barras, tablas, menús, etc)
Publicado por: Prg en Octubre 03, 2011, 06:33:12 pm
Versión 1.3 (Beta)

http://www.mediafire.com/?hokddojbrba8r6d

Cambios


01:07 p.m. 03/10/2011
            Se corrigen algunos crash.
            Se dañan las áreas de texto (necesito rehacer el codigo para quitar los string* así que por el momento no funcionan).
            Se Agrega:
            Gui_MensajeDir(x,y,ancho,alto,filas en archivos,Nombre,Filtro de archivos,fuente);
            cuyo fin es recorrer los directorios de la pc y guardar/cargar archivos. En ubuntu no mantiene los directorios ordenados. Necesito implementar un algoritmo de ordenamiento que ordene los char* que se usan internamente.
            Véase el test 23.
            Se agrega gui_MDesplArrayChar que trabaja con "arreglos de  arreglos char" en lugar de
            arreglos de string.

            Los "arreglos de arreglos de char" son arreglos que pueden contener arreglos de caracteres. Es un char[][], pero dinámicos.
            tamMultipleArrayChar -> retorna el tamaño de un arreglo de arreglos de char.
            ArrayMultipleCharGS(arrayChar* array,int pos)-> retorna el arreglo de char que hay el la posición
            pos, pero en forma de cadena. Véase el ModulosCompuestos
            ArrayMultipleCharLibera(arrayChar* array)-> Elimina un array de arrays de char.
            ArrayMultipleCharCrea(tamanño, string[]); -> Crea un arreglo dinámico a partir de un arreglo de cadenas
            ArrayMultipleCharDefine(arrayChar* array,int pos,string cad) -> Introduce en la posición pos de un arreglo dinámico, un arreglo con los caracteres de la cadena cad
            ArrayMultipleCharRedimensiona(arrayChar* a,int cant)-> Cambia el tamaño de un arreglo dinámico eliminando la memoria de los arreglos que sobran o agregando más memoria para nuevas posiciones.
            arrayChar* ArrayMultipleChar(int cant)-> crea un nuevo arreglo dinámic con cant posiciones.
           
            Las siguientes funciones trabajan con arreglos de char, similar a las cadenas de c (Al final del arreglo se encuentra un char=0 para indicar el fin de cadena).
            char * str2arrayChar(string a)-> Transforma una cadena en un arreglo de char con memoria dinámica.
            string arrayChar2str(char * a) -> Transforma un arreglo del tipo anterior en cadena
            arrayCharFree(char *c)-> Libera la memoria del arreglo de char generado con str2arrayChar.
           

Nota test 20 y 21 no funcionan debido a que dañé las áreas de texto.
            Antes se usaban punteros a string, sin embargo al intentar eliminarlos
            se dañaron. Necesito rehacer todo el algoritmo... Será más adelante.

Se eliminan los punteros a string en gui_Texto. Se agrega la función gui_textoDefine(id,string) para cambiar la cadena dentro de éste y también se agrega gui_TomaTexto(id); para guardar la cadena que contiene este elemento gui en una string y poderla usar.

Disculpen los inconvenientes con las áreas de texto. Me tomará algo de tiempo rehacerlas, sobre todo ahora que no tengo tiempo XD.

Saludos.

Título: Re: GUI_SO (áreas de texto, botones, barras, tablas, menús, etc)
Publicado por: Outlaw en Octubre 03, 2011, 06:38:15 pm
Genial, y gracias por continuar con esto, que nos beneficia a todos y sobre todo extiende la funcionalidad del lenaguaje! Karma++  :)
Título: Re: GUI_SO (áreas de texto, botones, barras, tablas, menús, etc)
Publicado por: FreeYourMind en Octubre 03, 2011, 06:55:49 pm
Gracias, karma
Título: Re: GUI_SO (áreas de texto, botones, barras, tablas, menús, etc)
Publicado por: Futu-block en Octubre 03, 2011, 09:04:23 pm
Habrá que empollar, que quiero sacar una cosita de esa para caanoo y demas portatiles, pero despues de dos intentos...
Título: Re: GUI_SO (áreas de texto, botones, barras, tablas, menús, etc)
Publicado por: josebita en Octubre 03, 2011, 09:39:23 pm
¡Muchas gracias, Prg!

Te acabo de enlazar desde el twitter. Te digo lo mismo que a Outlaw: si haces un pequeño post de introducción en inglés tu librería podrá llegar a más gente. No hace falta que sea nada del otro mundo: un mal inglés a mucha gente le sirve mucho más que que sólo esté en español.
 De todas maneras, karma!
Título: Re: GUI_SO (áreas de texto, botones, barras, tablas, menús, etc)
Publicado por: l1nk3rn3l en Octubre 04, 2011, 06:05:57 am
gracias se requiere en todo
Título: Re: GUI_SO (áreas de texto, botones, barras, tablas, menús, etc)
Publicado por: Prg en Octubre 05, 2011, 10:25:33 pm
¡Muchas gracias, Prg!

Te acabo de enlazar desde el twitter. Te digo lo mismo que a Outlaw: si haces un pequeño post de introducción en inglés tu librería podrá llegar a más gente. No hace falta que sea nada del otro mundo: un mal inglés a mucha gente le sirve mucho más que que sólo esté en español.
 De todas maneras, karma!

gracias por la idea. Espero en breve poder compartir lo que llevo en el foro de inglés.. :) Actualmente la estoy probando para identificar posibles errores. Espero en breve tener algo de tiempo y entonces seguiré tu consejo.

gracias :)
Título: Re: GUI_SO (áreas de texto, botones, barras, tablas, menús, etc)
Publicado por: KeoH en Octubre 22, 2011, 12:23:53 pm
Arrrrggg ... estaba usando esta libreria en un jueguecillo q llamo de IDI ..(Investigacion, Desarrollo e Innovacion) xDD q uso para aprender funciones q no suelo usar y hacer pruebas xD .. total q estaba experimentando con la GUI_so y me da un error!! xDD .. el caso es q estaba usando una gui_checklist ,para q el usuario elija el idioma al q va a jugar ... y me estaba dando error de violacion de segmento ... total q me pegué 2 horas violando el segmento .. pobre segmento q fiesta se llevó xD .... y conseguí resolverlo cuando en vez de poner "Español" puse "Espanol" xDDDD las Ñ violan los segmentos!! xD ¿Os pasa a vosotros? xD
Título: Re: GUI_SO (áreas de texto, botones, barras, tablas, menús, etc)
Publicado por: KeoH en Octubre 22, 2011, 05:11:58 pm
Pues he seguido probando ... y la violación de segmento pasa por culpa de la fuente q uso ... q se ve q no tiene ñ (aunq si la tiene). La violación de segmento no ocurre cuando uso la fuente del sistema .. pero no sale la ñ, sino un simbolo extraño con un +- ... mu raro .. xD
Título: Re: GUI_SO (áreas de texto, botones, barras, tablas, menús, etc)
Publicado por: Prg en Octubre 23, 2011, 05:04:16 am
Me disculpo por los inconvenientes. ¿Me podrías pasar la fuente para probarla? o alguna que te genere el error para ver en qué linea la genera y poder corregirlo

Saludos :)
Título: Re: GUI_SO (áreas de texto, botones, barras, tablas, menús, etc)
Publicado por: josebita en Octubre 23, 2011, 12:37:22 pm
Pues he seguido probando ... y la violación de segmento pasa por culpa de la fuente q uso ... q se ve q no tiene ñ (aunq si la tiene). La violación de segmento no ocurre cuando uso la fuente del sistema .. pero no sale la ñ, sino un simbolo extraño con un +- ... mu raro .. xD
Asegúrate de que tu código fuente está codificado con ISO-Latin-1 y no con UTF-8.
Título: Re: GUI_SO (áreas de texto, botones, barras, tablas, menús, etc)
Publicado por: KeoH en Octubre 23, 2011, 01:04:53 pm
Me disculpo por los inconvenientes. ¿Me podrías pasar la fuente para probarla? o alguna que te genere el error para ver en qué linea la genera y poder corregirlo

Saludos :)

Ya te la he mandado al correo xD
Título: Re: GUI_SO (áreas de texto, botones, barras, tablas, menús, etc)
Publicado por: KeoH en Octubre 23, 2011, 01:34:58 pm
Comprobado xDD es como dice Josebita ... la codificación UTF-8 no sirve xD se ve que el gedit lo hace automaticamente, he pasado a codificacion ANSI y funciona perfectamente xD. Gracias xD
Título: Re: GUI_SO (áreas de texto, botones, barras, tablas, menús, etc)
Publicado por: izubiaurre en Octubre 24, 2011, 06:10:52 pm
Para dibujar la GUI, ¿se vale de gráficos o todos son primitivas?
Título: Re: GUI_SO (áreas de texto, botones, barras, tablas, menús, etc)
Publicado por: KeoH en Octubre 24, 2011, 07:07:13 pm
son primitivas la mayoría, aunq en las barras de carga por ejemplo puedes usar los graficos q quieras :)
Título: Re: GUI_SO (áreas de texto, botones, barras, tablas, menús, etc)
Publicado por: izubiaurre en Octubre 24, 2011, 08:05:01 pm
Te lo preguntaba porque sería muy práctico para usarlos en los juegos si trabajase con mapas.
Título: Re: GUI_SO (áreas de texto, botones, barras, tablas, menús, etc)
Publicado por: Prg en Octubre 25, 2011, 09:02:00 pm
Depende de lo que hagas, existe un botón que recibe un file y un graph. En los demás elementos, por defecto se usan primitivas, pero existe la forma de usar cualquier gráfico y es reescribiendo la función que genera los gráficos. En los ejemplos viene un test que hace esto. Ahora no recuerdo cuál es, cuando vaya a mi lap subo el nombre. Lo que se hace en este test es un #define y luego se declara una función que es la que se llama y que de acuerdo al tipo de elemento que la llama genera un gráfico, de esta forma se deja al usuario modificar a sus necesidades la creación de éstos.

Es el test21...
disculpen la tardanza
Título: Re: GUI_SO (áreas de texto, botones, barras, tablas, menús, etc)
Publicado por: Arcontus en Enero 26, 2012, 11:55:18 pm
Hola chicos,

Estaba intentando compilar los ejemplos, pero me aparecen los siguientes errores:

Código: [Seleccionar]
BGDC 1.0.0 (Apr 14 2011 00:24:29)
Copyright ® 2006-2011 SplinterGU (Fenix/BennuGD)
Copyright ® 2002-2006 Fenix Team (Fenix)
Copyright ® 1999-2002 JosÚ Luis Cebrißn Pag³e (Fenix)
Bennu Game Development comes with ABSOLUTELY NO WARRANTY;
see COPYING for details

C:\Gui_soVDCL\EjemplosDeUso\GUI_SO.prg:811: error: Conflict with previous declar
ation ( token error: "ANCHO" ).
C:\Gui_soVDCL\EjemplosDeUso\GUI_SO: doesn't exist or isn't version 7 DCB compati
ble
Presione una tecla para continuar . . .

Este error me lo da al compilar el primer ejemplo:
Código: [Seleccionar]
BGDC 1.0.0 (Apr 14 2011 00:24:29)
Copyright ® 2006-2011 SplinterGU (Fenix/BennuGD)
Copyright ® 2002-2006 Fenix Team (Fenix)
Copyright ® 1999-2002 JosÚ Luis Cebrißn Pag³e (Fenix)
Bennu Game Development comes with ABSOLUTELY NO WARRANTY;
see COPYING for details

C:\Gui_soVDCL\EjemplosDeUso\GUI_SO.h:47: error: Unknown identifier ( token error
: "TSELECT" ).
C:\Gui_soVDCL\EjemplosDeUso\Test01: doesn't exist or isn't version 7 DCB compati
ble
Presione una tecla para continuar . . .

El resto de ejemplos también me dan errores similares.
Que es lo que estoy haciendo mal??
Título: Re: GUI_SO (áreas de texto, botones, barras, tablas, menús, etc)
Publicado por: KeoH en Enero 27, 2012, 12:22:42 am
Estas usando la ultima version de GUI_SO ? porq a mi me daba ese error antes tambien. Bajate la ultima version, la tienes en un mensaje de Prg en la página anterior de este tema.
Título: Re: GUI_SO (áreas de texto, botones, barras, tablas, menús, etc)
Publicado por: Arcontus en Enero 27, 2012, 03:20:32 pm
Estas usando la ultima version de GUI_SO ? porq a mi me daba ese error antes tambien. Bajate la ultima version, la tienes en un mensaje de Prg en la página anterior de este tema.

Pues esa es la versión que bajé, así que tiene que ser otra cosa.
Título: Re: GUI_SO (áreas de texto, botones, barras, tablas, menús, etc)
Publicado por: KeoH en Enero 27, 2012, 05:19:28 pm
pero te has bajado la del primer mensaje?? porq yo me refiero a la version 1.3 (beta) q esta unos mensajes despues ... este es el link:  http://www.mediafire.com/?hokddojbrba8r6d (http://www.mediafire.com/?hokddojbrba8r6d)
Título: Re: GUI_SO (áreas de texto, botones, barras, tablas, menús, etc)
Publicado por: Arcontus en Enero 27, 2012, 07:43:45 pm
pero te has bajado la del primer mensaje?? porq yo me refiero a la version 1.3 (beta) q esta unos mensajes despues ... este es el link:  http://www.mediafire.com/?hokddojbrba8r6d (http://www.mediafire.com/?hokddojbrba8r6d)

Ups, pues no la vi esa versión. Ya me funciona, gracias por la ayuda. Karma++
Título: Re:GUI_SO (áreas de texto, botones, barras, tablas, menús, etc)
Publicado por: Arcontus en Abril 13, 2017, 08:24:23 am
Estoy teniendo un error inesperado al tratar de generar un desplegable de botones:

Código: [Seleccionar]
include "./GUI_SO.h"

FUNCTION inicializa_GUI()
PRIVATE
    string archivo[]="Cargar","Guardar","Salir";
    MAP_Estado;
END
BEGIN
    //uno para cuando está sobre botones y listas y otro para cuando está en campos de texto
    gui_inicializa(load_png("flecha.png"),load_png("flechag.png"),load_png("cursor.png"));

    set_center(0,gui_flecha,0,0);     //centro del mouse (punto caliente)
    set_center(0,gui_mano,0,0);

    gui_color_borde=rgb(176,176,192);              //se inicializa el color de los bordes de los objetos de la gui
    gui_color_Fondo=rgb(128,128,144);              //se inicializa el color de los objetos de la gui

    gui_MDespl(50, 15, 100, 30, "Archivo", &archivo, gui_Ttamano(archivo) );         //gui_Ttamano retorna el tamaño de un arreglo
    While (MAP_Estado!= 0)
        //Evita que nos quedemos encerrados en un menu.
        if (key( _ESC)) MAP_Estado= 0; END
        gui_actualiza();  //es necesario llamar esta función cada frame, ya que es la que se encarga de los gráficos del mouse
        FRAME;
    END
END

PROCESS main()
PRIVATE
    MAP_Estado;
END
BEGIN
     set_mode(1024,768,32, mode_window);
     set_fps(60, 0);
     MAP_Estado = 100;
     inicializa_GUI();
     While (MAP_Estado!= 0)
         //Evita que nos quedemos encerrados en un menu.
        if (key( _ESC)) MAP_Estado= 0; END

         FRAME;
     END
    let_me_alone();
END

(https://forum.bennugd.org/data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4RDcRXhpZgAATU0AKgAAAAgABAE7AAIAAAAGAAAISodpAAQAAAABAAAIUJydAAEAAAAMAAAQyOocAAcAAAgMAAAAPgAAAAAc6gAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAERhdmlkAAAFkAMAAgAAABQAABCekAQAAgAAABQAABCykpEAAgAAAAMxMgAAkpIAAgAAAAMxMgAA6hwABwAACAwAAAiSAAAAABzqAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjAxNzowNDoxMyAxMDoxNToxMAAyMDE3OjA0OjEzIDEwOjE1OjEwAAAARABhAHYAaQBkAAAA/+ELGGh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8APD94cGFja2V0IGJlZ2luPSfvu78nIGlkPSdXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQnPz4NCjx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iPjxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+PHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9InV1aWQ6ZmFmNWJkZDUtYmEzZC0xMWRhLWFkMzEtZDMzZDc1MTgyZjFiIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iLz48cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0idXVpZDpmYWY1YmRkNS1iYTNkLTExZGEtYWQzMS1kMzNkNzUxODJmMWIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyI+PHhtcDpDcmVhdGVEYXRlPjIwMTctMDQtMTNUMTA6MTU6MTAuMTE3PC94bXA6Q3JlYXRlRGF0ZT48L3JkZjpEZXNjcmlwdGlvbj48cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0idXVpZDpmYWY1YmRkNS1iYTNkLTExZGEtYWQzMS1kMzNkNzUxODJmMWIiIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyI+PGRjOmNyZWF0b3I+PHJkZjpTZXEgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj48cmRmOmxpPkRhdmlkPC9yZGY6bGk+PC9yZGY6U2VxPg0KCQkJPC9kYzpjcmVhdG9yPjwvcmRmOkRlc2NyaXB0aW9uPjwvcmRmOlJERj48L3g6eG1wbWV0YT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPD94cGFja2V0IGVuZD0ndyc/Pv/bAEMABwUFBgUEBwYFBggHBwgKEQsKCQkKFQ8QDBEYFRoZGBUYFxseJyEbHSUdFxgiLiIlKCkrLCsaIC8zLyoyJyorKv/bAEMBBwgICgkKFAsLFCocGBwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKv/AABEIAIAAawMBIgACEQEDEQH/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/AOj1vXNVXxBqv/E41ONEv5oY44LooqKpGABg+tUP7e1T/oNaz/4Hn/4mk17/AJD2rf8AYUuf5rWbW6SsI0/7f1T/AKDWtf8Agef/AImj+39U/wCg1rX/AIHn/wCJrMqzY6fc6lO0NnF5jKjSOSwVUUDJZmJAA9yadkBa/t7VP+g1rX/gef8A4mj+3tU/6DWs/wDgef8A4mmXGh6lbqrtatJG0TTCSBhMhRThm3ISMA9eeMjPWmJouqSzywR6bePLDjzI1gYsmRkZGOMilaIEh1zUz11nWf8AwPP/AMTSf2zqP/QY1n/wPP8A8TUV3pd7Y20E95btDHcM6x7iMko21gR1BB45xTpNJu1ntoIYpLiW5hE0cccMm4ggngFRngHkZHoTT0FYkGt6kOms6z/4Hn/4ml/t3U/+gzrP/gef/iarRadezeR5NncSfaN3k7ImPm7fvbeOcd8dKjuLae0naC6hkglXG6ORCrDIzyD7UWQWRc/tzU/+gzrP/gef/iaP7c1L/oM6z/4Hn/4ms6iiyCyK3i/xbrul+E9QvNN13VormGNHR3vC4GZo1PGPRzXlP/C4fiD/ANDXqH/fY/wrvPHv/Ij6t/1wT/0ohrw+sp6MdkfUuvf8h7Vv+wpc/wA1rNrT1xJG1zVSkUr51S5PyRs3dfQVneVN/wA+tz/4Dv8A4VqthIbWpoWtHRJbyRYFma5tHtgGIwu7HzEEEMBjoetZvlTf8+tz/wCA7/4UeVN/z63P/gO/+FMZ1Fv45mg0+KAWipNFaXFus0DLDgysrBwqqACu3t165FZdprECaC+kX9pJNbm5FyjQzCNw23aQSVYEYx2FZflTf8+tz/4Dv/hR5U3/AD63P/gO/wDhSsgOmsvGX2GDTrWOzkeys/tCyW73GVuVkJwHG3B259Dn0FUrjxLO+o6Te2sXkS6bbRQL85Ik2Z5OMcEHBHp3rG8qb/n1uf8AwHf/AAo8qb/n1uf/AAHf/CiyA6abxn5uoyPHp0cGnvZyWYs4ZNoRX5ZlOMBi3OdvQAY71k61q/8Aa89sVg8iK1to7aJS+5tqjqxwMnJPQCs/ypv+fW5/8B3/AMKPKm/59bn/AMB3/wAKLIBtFO8qb/n1uf8AwHf/AAo8qb/n1uf/AAHf/CmBzXj3/kR9W/64J/6UQ14fXuXj6KUeBdWd4ZkUQxjc8bKM/aIeOR7GvDaxnuM+pNbVF1/V2MMLsdTuAWeJWOAR6j3NUNyf8+9t/wCA6f4Voa4d2uasR/0FLn+a1m1qtiVsO3J/z723/gOn+FG5P+fe2/8AAdP8KbXUf8IDqm3b59n9o3+V9n3tv8zyvN2Z27c7e+ce9GiGczuT/n3tv/AdP8KNyf8APvbf+A6f4Vs/8Ire/YfP8238z7H9u+zbm8zyM435xt98bs47Z4pzeFbuDRdQv751t5LNYW+zkqznzDj5gGyhwQcMOaLoDE3J/wA+9t/4Dp/hRuT/AJ97b/wHT/Cm11H/AAgOqbdvn2f2jf5X2fe2/wAzyvN2Z27c7e+ce9GiA5ncn/Pvbf8AgOn+FG5P+fe2/wDAdP8ACtuTwjqMWijU5WhSI24uQrFh8hOB823ZuOQdu7dz0zxVv/hAdU27fPs/tG/yvs+9t/meV5uzO3bnb3zj3ougOZ3J/wA+9t/4Dp/hRuT/AJ97b/wHT/Cm0UwOd8flT4F1VRFCv7mNspCqnP2iIdQM9zXh1e4ePf8AkR9W/wCuCf8ApRDXh9Yz3GfUWsAjWNVB6/2pc/zWqFX9ekB8RavGhyy6ncFh5chAyRjlUI7VnfP7f9+p/wD43WqehK2HVt/8Jhrv2jz/ALd+887z93kp9/y/Lz93+5xjp361hfP7f9+p/wD43R8/t/36n/8AjdGgzU/4SDU/sP2T7T+78n7Pu8tfM8rOdm/G7b7ZxjjpUknibU54JILqWOeKbyxOrwqGnCEbQ7gBz067s+9Y/wA/t/36n/8AjdHz+3/fqf8A+N0aAaUmo2rxOi6NYxsykB1efK+4zIRn6g1b/wCEw137R5/279553n7vJT7/AJfl5+7/AHOMdO/WsL5/b/v1P/8AG6Pn9v8Av1P/APG6NANJtbvpLNLaZoZo44vJQy28buic/KHKlgBk4weO2Kt/8Jhrv2jz/t37zzvP3eSn3/L8vP3f7nGOnfrWF8/t/wB+p/8A43R8/t/36n/+N0aAOopvz+3/AH6n/wDjdHz+3/fqf/43TA57x7/yI+rf9cE/9KIa8Pr3TxtBLceCdWWJS7/ZwQqxyDhZY3YksgAwqMeteF1jPcZ9LeJ/+Rn1j/sJ3H/stZFa/if/AJGfWP8AsJ3H/stZFaLYQUUVtaJYW8+k6nezwpPLbeSsSSyFI8u+CWII9PUD1pgYtFdFc6HjSdQvbu1Sylt4oJII7aXfHIsjkbiSzZ6cYI6Vak8K28XiOey8q4ezWeGFbhrqOLazqCR8y/Oec7V5/OldAcnRXWX3hnTNL8PC/up7iWVbmSAxoQol2u68fKdvC7uc9CO4puneG7NdKnn1Cbfdtpkl3Fa7CNg/gk3g4PT7p9eRxRzIDlaK6qz8KxXFqDdRz2k8UtskqG4jdmErBT8gAMZ5BG7PpWNrlrZWGpzWdi0sogkZGlkYfNz0AwMY5BOTnGRjpRcDOooopgUNa/5Ad/8A9edx/wCiHrw+vcNa/wCQHf8A/Xncf+iHrw+spjPpbxP/AMjPrH/YTuP/AGWsiui8QWC3HiPWHN2sH/EzuOHiLZOR6H6fnWb/AGSn/QUi/wDAZ/8AGtFsIz6ltru5s5DJZ3Etu5G0tE5UkemR9Kt/2Sn/AEFIv/AZ/wDGj+yU/wCgpF/4DP8A40wIv7W1H7T9o/tC68/Zs83zm3bc5xnOcZ5xTYdTv7eSWS3vbiJ5jukZJWUufUkHnqfzqf8AslP+gpF/4DP/AI0f2Sn/AEFIv/AZ/wDGiwFaa/vLiHybi6nli3l9jyFl3HJJwe/J59zTk1O/jtTax3twluQVMKysEweoxnHOTU/9kp/0FIv/AAGf/Gj+yU/6CkX/AIDP/jQBENW1EQpCNQuvKTbsTzm2rtwVwM8YwMemKqySPLI0krs7uSzMxyWJ6kmr/wDZKf8AQUi/8Bn/AMaP7JT/AKCkX/gM/wDjQBn0Vof2Sn/QUi/8Bn/xo/slP+gpF/4DP/jQBga1/wAgO/8A+vO4/wDRD14fXu/iuCHTPCupXT3q3AS1kTy44CpPmDygck4wGkXPtmvCKynuM+pte/5D2rf9hS5/mtZlaev/APIe1b/sKXP81rMrWOwgooopgFFanh+9bT9UNxHcWtuwiZd1yshB3DBAMYLK3PUY6decHdudU0m81HTnvdSkkaGGUzEeZPbhznYAJw7DIxuO1hwuB1IVwOTS2nlglnjhkeKHHmSKhKpk4GT2yaJrae38v7RDJF5iCRN6Fd6nowz1B9a7O+1Pw/JY6lYafcQ2xvrS23S+U4i86NyXGFQEEjHIQA89DVO2v/D6+JNDmmS3+xQ6eqXoNsSpm2ODuXb8xyV5wfrSuwOToqe6ujdyhzFDEqrtVIYwoUdh6sfdiSe5NQVQBRRRQBznj3/kR9W/64J/6UQ14fXuHj3/AJEfVv8Argn/AKUQ14fWM9xn1Nr/APyHtW/7Clz/ADWsyvP/AIpeNNd0n4peIrCxu4ktor92RHtIZNpbBPLKTXJf8LE8S/8AP3bf+C+3/wDjdUppIR7bRXiX/CxPEv8Az923/gvt/wD43R/wsTxL/wA/dt/4L7f/AON0+dAe20V4l/wsTxL/AM/dt/4L7f8A+N0f8LE8S/8AP3bf+C+3/wDjdHOgPbaK8S/4WJ4l/wCfu2/8F9v/APG6P+FieJf+fu2/8F9v/wDG6OdAe20V4l/wsTxL/wA/dt/4L7f/AON0f8LE8S/8/dt/4L7f/wCN0c6A9torxL/hYniX/n7tv/Bfb/8Axuj/AIWJ4l/5+7b/AMF9v/8AG6OdAelePf8AkR9W/wCuCf8ApRDXh9b2oeNde1TTprG8uoWt5wBIqWkMZYBgwGVQHqoPXtWDWcndjP/Z)

Teóricamente debería mostrar el listado: archivo[]="Cargar","Guardar","Salir";
Pero aparecen: "mod_mem", "Guardar" y "Salir"

¿Alguna idea de que está saliendo mal?
Título: Re:GUI_SO (áreas de texto, botones, barras, tablas, menús, etc)
Publicado por: l1nk3rn3l en Abril 13, 2017, 08:20:00 pm
Comparte en zip para mirar
Título: Re:GUI_SO (áreas de texto, botones, barras, tablas, menús, etc)
Publicado por: Arcontus en Abril 14, 2017, 08:17:13 pm
Comparte en zip para mirar

Tienes razón, añado el RAR para su supervisión.
Título: Re:GUI_SO (áreas de texto, botones, barras, tablas, menús, etc)
Publicado por: Arcontus en Abril 15, 2017, 12:10:54 pm
Vale chicos, parece que localicé el problema, obviamente estaba en mi código. El problema es que no estaba correctamente definido uno de los bucles y no se llamaba a la funcion "gui_actualiza();" tal y como debería.

Un saludo!
Título: Re:GUI_SO (áreas de texto, botones, barras, tablas, menús, etc)
Publicado por: Arcontus en Abril 16, 2017, 10:16:57 am
Estoy intentando darle un poco de caña a esta librería la cual me parece extemadamente útil y reporto lo que me parece un pequeño fallo.
los botones "-" y "X" de la parte superior derecha de la ventana creada con la función "gui_muestraMensaje"  no funcionan. Por lo que he estado investigando el problema está en el proceso "gui_barraMovimiento", del fichero "GUI_SO.prg". Concretamente en la linea 2315 se setea la variable "accion" a 0 y para que vuelvan a funcionar solo hay que comentar o borrar esa asignación quedando de esta manera:

Código: [Seleccionar]
process gui_barraMovimiento(gui_contenedor ct,String nombre)
private
public    adjy;
    cx,cy;
    x0,y0;
    idm;
public gui_contenedor c;
public    botones[3];
    accion;
public estado=false;
public ancho2;
begin
    c=ct;
    graph= gui_arma_gB(c.ancho,text_height(gui_fuente,"X")+10,nombre,GUI_GBARRAMOVIMIENTOVENTANA,id);
    adjy=(graphic_info(0,c.graph,g_height)>>1) + ((text_height(gui_fuente,"X")+10)>>1)-1 ;
    ancho2=(graphic_info(0,c.graph,g_width)>>1) +6;
    x=c.x;
    y=c.y-adjy;
    z=c.z-1;
    if ( c.tipoCont==3)
        botones[0]=gui_boton(x+ancho2-14,y,14,14,"X",1,&accion);
        botones[0].z=z-2;
    end

    if (c.tipoCont==2)

        botones[0]=gui_boton(x+ancho2-14,y,14,14,"X",1,&accion);
        botones[0].z=z-2;

        botones[1]=gui_boton(x+ancho2-28,y,14,14,"_",2,&accion);
        botones[1].z=z-2;
        botones[2]=gui_boton(x+ancho2-28,y,14,14,"-",3,&accion);
        botones[2].z=z-2;
        signal(botones[2],s_sleep);

    end
    loop
        if (exists(c))
            switch  (accion)
                case 1:
                    gui_cierra(c);
                    signal(id,s_kill);
                end
                case 2:
                    gui_propaga(c,s_sleep_tree);
                    while(mouse.left)
                        frame;
                    end
                    signal(botones[1],s_sleep);
                    signal(botones[2],s_wakeup);
                    accion=0;
                end
                case 3:
                    gui_propaga(c,s_wakeup_tree);
                    while(mouse.left)
                        frame;
                    end
                    signal(botones[2],s_sleep);
                    signal(botones[1],s_wakeup);
                    accion=0;
                end
            end
            cx=mouse.x-x;
            cy=mouse.y-y;
            if (!((idm=collision(type gui_contenedor)) and idm<>0 and idm.z<z) and !((idm=collision(type gui_barraMovimiento)) and idm<>0 and idm.z<z) and collision(type mouse) and mouse.left)
                while (mouse.left)

                    x=mouse.x-cx;
                    y=mouse.y-cy;
                    if (c.tipoCont==3)
                        botones[0].x=x+ancho2-14;
                        botones[0].y=y;
                    end

                    if (c.tipoCont==2)
                        botones[0].x=x+ancho2-14;
                        botones[0].y=y;
                        botones[1].x=x+ancho2-28;
                        botones[1].y=y;
                        botones[2].x=x+ancho2-28;
                        botones[2].y=y;
                    end
                    gui_mueveContenedor(c,x,y+adjy);
                    frame;
                end
                //accion=0; //<<-- (linea comentada)
            end
        else
            signal(id,s_kill);
        end
        frame;
    end
    onexit;
    unload_map(0,graph);
    from z=0 to 2;
        if (exists(botones[z]))
            signal(botones[z],s_kill);
        end
    end
end

Por el momento no he notado ningún problema al comentar esa parte del código. A ver que dice PRG :)

Otro problema que he encontrado es que al utilizar "gui_ObjetoLista" dentro de un "gui_muestraMensaje" no aparece la  barra "gui_BarraDesplazamientoVariable". Para solucionarlo basta con cambiar la Z del proceso "BarraDesplazamientoVariable" de "z=son.z-2;" a "z=son.z-8;" quedando de esta manera:
Código: [Seleccionar]
process gui_BarraDesplazamientoVariable(x,y,anch2,alt2,dir,max,int *val,*cant)
private mx;
begin
    ancho=anch2;
    alto=alt2;
    direccion=dir;
    actualisaCoord();
    x0=x;
    y0=y;
    gui_Etiqueta(0,gui_arma_gB(ancho,alto,"",GUI_GBARRADESPLAZAMIENTOVARIABLEFONDO,id),x,y,true);
    if (direccion)
        x0-=ancho>>1;
    else
        y0-=alto>>1;
    end

    ancho-=2;
    alto-=2;

    //    write_var(0,400,300,4,ed);
    //    son.flags=4;
    auxval=-1;
    loop
    z=son.z-8;
        if (auxval<>*cant)
            if (map_exists(file,graph))
                unload_map(file,graph);
            end
            if (*cant>max)
                if (direccion)
                    anchg=ancho/(float)(*cant/(float)max);
                      graph=gui_arma_gB(anchg>5? anchg : 5,alto,"",GUI_GBARRADESPLAZAMIENTOVARIABLEBARRA,id);
                    anchg=graphic_info(file,graph,g_width);
                                        val2=anchg>>1;
                    if (ancho>anchg)
                        if (*val>*cant-max)
                            *val=*cant-max;
                            write_int(0,200,260,0,&max);
                        end
                        x=x0+val2+((*val*(ancho-anchg))/(*cant-max));
                    /* else
                        x=x0+(ancho>>1)-((ancho-anchg)>>1);
                        *val=0; */
                    end
                else
                    altg=alto/(float)(*cant/(float)max);
                    graph=gui_arma_gB(ancho,altg>5? altg : 5,"",GUI_GBARRADESPLAZAMIENTOVARIABLEBARRA,id);
                    altg=graphic_info(file,graph,g_height);

                    val2=altg>>1;
                    if (alto>altg)
                        if (*val>*cant-max)
                            *val=*cant-max;
                        end
                        y=y0+val2+((*val*(alto-altg))/(*cant-max));
                    /* else
                        y=y0+(alto>>1)-((alto - altg)>>1);
                        *val=0; */
                    end
                end
            else
                graph=gui_arma_gB(ancho,alto,"",GUI_GBARRADESPLAZAMIENTOVARIABLEBARRA,id);
                if (direccion)
                    x=x0+(ancho>>1);
                else
                    y=y0+(alto>>1);
                end
                *val=0;
            end
            auxval=*cant;
            anchg=graphic_info(file,graph,g_width);
            altg=graphic_info(file,graph,g_height);
            if (direccion)
                val2=anchg>>1;
            else
                val2=altg>>1;
            end
        end

        if (*cant>max)
            if (direccion)
                x=x0+val2+((*val*(ancho-anchg))/(*cant-max));
                if (anchg<ancho and mouse.left and !((idm=collision(type gui_contenedor)) and idm<>0 and idm.z<z) and !((idm=collision(type gui_barraMovimiento)) and idm<>0 and idm.z<z) and estado!=GUI_DORMIR and  estado!=GUI_BLOQUEAR and not out_region(id,region))
                    if (collision(type mouse))
                        mx=mouse.x;
                        while (mouse.left)
                            x+=mouse.x-mx;
                            if (x>(x0+ancho-val2))
                                x=x0+ancho-val2;
                            elseif (x<(x0+val2))
                                x=x0+val2;
                            end
                            mx=mouse.x;
                            *val=(x-x0-val2)*(*cant-max)/(ancho-anchg);
                            frame;
                        end
                    else
                        while (mouse.x<(x0+ancho-val2) and mouse.x>(x0+val2) and mouse.y<y0+(alto>>1) and mouse.y>y0-(alto>>1) and mouse.left and x<>mouse.x)
                            if (mouse.x>x) x++;
                            else
                                x--;
                            end
                            *val=(x-x0-val2)*(*cant-max)/(ancho-anchg);
                            frame;
                        end
                    end
                end
            else
                y=y0+val2+((*val*(alto-altg))/(*cant-max));
                if (altg<alto and mouse.left and !((idm=collision(type gui_contenedor)) and idm<>0 and idm.z<z) and !((idm=collision(type gui_barraMovimiento)) and idm<>0 and idm.z<z) and estado!=GUI_DORMIR and  estado!=GUI_BLOQUEAR and not out_region(id,region))

                    if (collision(type mouse))
                        mx=mouse.y;
                        while (mouse.left)
                            y+=mouse.y-mx;
                            if (y>(y0+alto-val2))
                                y=y0+alto-val2;
                            elseif (y<(y0+val2))
                                y=y0+val2;
                            end
                            mx=mouse.y;
                            *val=(y-y0-val2)*(*cant-max)/(alto-altg);
                            frame;
                        end
                    else
                        while (mouse.x<x0+(ancho>>1) and mouse.x>x0-(ancho>>1) and mouse.y<y0+alto-val2 and mouse.y>y0+val2 and mouse.left and y<>mouse.y)
                            if (mouse.y>y) y++;
                            else
                                y--;
                            end
                            *val=(y-y0-val2)*(*cant-max)/(alto-altg);
                            frame;
                        end
                    end
                end
            end
        end
        frame;
    end
    onexit;
    unload_map(0,graph);
    signal(son,s_kill);
end

Si encuentro algún otro problema os lo comento.
Un  saludo!
Título: Re:GUI_SO (áreas de texto, botones, barras, tablas, menús, etc)
Publicado por: Arcontus en Mayo 11, 2017, 07:15:18 pm
Hola chicos,

otro pequeño error de la librería: si utilizas la función gui_TextoListaV(...) por ejemplo en el Test23, verás que al cerrar la ventana también se eliminan los textos no asociados a la misma. Para que funcione correctamente tienes que cambiar las lineas del delete_text del "onExit;" para que compruebe antes el código de texto a borrar que no sea 0:
Código: [Seleccionar]

//Fichero GUI_SO.prg lineas: 2913-2917
for (cont=0;cont<cantPant*cantidadR;cont++)
        if (listaTex[cont] != 0)
            delete_text(listaTex[cont]);   
        END
    end

Con este cambio todo parece funcionar correctamente.

Un saludo!
Título: Re:GUI_SO (áreas de texto, botones, barras, tablas, menús, etc)
Publicado por: l1nk3rn3l en Mayo 11, 2017, 10:17:48 pm
Comparte todo en un zip para actualizar la libreria

Se agradece el aporte..