Page 1 of 1

OPTGUI

Posted: Sat May 17, 2008 4:24 pm
by Pedro
¿Alguien sabe de esta lib?

Me la pide al compilar con el xMate

Un saludo
Pedro

Posted: Sat May 17, 2008 4:42 pm
by Pedro
Bueno he coseguido compilar el programa con el Verce 5.0, incrustar los rc en el ejecutable, y..................?¿?¿?¿?¿?¿?¿?

Al entrar en el dialogo que presenta un cliente, el dialogo se esfuma y el programa se queda colgado....

¿alguien sabe por qué -´ç+`')(/&%$· se queda así?

joder que dia llevo con .............. esto

Pedro

Amigo...

Posted: Sat May 17, 2008 11:40 pm
by leandro
Amigo muestranos algo de codigo a ver si te podemos ayudar...

Re: Amigo...

Posted: Sun May 18, 2008 9:17 am
by Pedro
leandro wrote:Amigo muestranos algo de codigo a ver si te podemos ayudar...
Ya lo solucioné Leandro.
Me ponía el Pelles C la claúsula WS_CHILD en el diálogo, la saqué y ya dejó de colgarse y esfumarse el diálogo.

Otra cuestión es, ¿cómo pongo color al diálogo (color de fondo) y color a los textos?

Con un BRUSH he logrado darle color al fondo del diálogo, pero el fondo de los textos queda con el color antiguo del diálogo.

Gracias y un saludo
Pedro

Posted: Sun May 18, 2008 9:24 am
by Antonio Linares
Pedro,

Este es un ejemplo construyendo el diálogo desde PRG:

Code: Select all

#include "FiveWin.ch"

function Main()

   local oDlg

   DEFINE DIALOG oDlg TITLE "Test" COLOR "W/B"

   @ 2, 2 SAY "Hello" COLOR "R/BG"

   ACTIVATE DIALOG oDlg CENTERED

return nil
En caso de que lo construyas desde recursos, entonces usa:

REDEFINE SAY oSay PROMPT cItem ID nId OF oDlg COLOR "R+/W"

Además de usar colores tipo Clipper ".../...", puedes usar colores RGB:
COLOR nColorTexto, nColorFondo

en donde nColorTexto puede ser nRGB( 120, 0, 0 ), por ejemplo

Posted: Sun May 18, 2008 7:25 pm
by Pedro
Antonio Linares wrote:Pedro,

Este es un ejemplo construyendo el diálogo desde PRG:

Code: Select all

#include "FiveWin.ch"

function Main()

   local oDlg

   DEFINE DIALOG oDlg TITLE "Test" COLOR "W/B"

   @ 2, 2 SAY "Hello" COLOR "R/BG"

   ACTIVATE DIALOG oDlg CENTERED

return nil
En caso de que lo construyas desde recursos, entonces usa:

REDEFINE SAY oSay PROMPT cItem ID nId OF oDlg COLOR "R+/W"

Además de usar colores tipo Clipper ".../...", puedes usar colores RGB:
COLOR nColorTexto, nColorFondo

en donde nColorTexto puede ser nRGB( 120, 0, 0 ), por ejemplo
Se me olvidó decir que los diálogos estan construidos en recursos, y cuando le pongo DEFINE DIALOG oDlg TITLE "Test" COLOR "W/B"
el fondo del diálogo si cambia de color, pero los textos,(que ya están puestos en el recurso) siguen con el fondo del diálogo.

Pedro

Posted: Sun May 18, 2008 7:52 pm
by Antonio Linares
Pedro,

Al tener los diálogos en recursos no puedes usar:

DEFINE DIALOG oDlg TITLE "Test" COLOR "W/B"

sino que debes usar:

DEFINE DIALOG oDlg RESOURCE "nombre_dialogo_en_recurso" COLOR "W/B"

Posted: Sun May 18, 2008 8:03 pm
by Pedro
Antonio Linares wrote:Pedro,

Al tener los diálogos en recursos no puedes usar:

DEFINE DIALOG oDlg TITLE "Test" COLOR "W/B"

sino que debes usar:

DEFINE DIALOG oDlg RESOURCE "nombre_dialogo_en_recurso"
COLOR "W/B"
Perdona Antonio, es que me trae de cabeza un error de lo más raro.
Efectivamente, si pongo como dices, RESOURCE...... COLOR....
el fondo del diálogo cambia, pero los textos escritos siguen con letra color negro y fondo blanco y eso queda antiestético.

El dolor de cabeza me lo trae este código

Code: Select all

Local oDlgS,oLbxS,oIcon
Local cCodigo1 := cCodigo
Local cCodigo2 := cCodigo
Local cNombre  := Str(cCodigo1)+" "+CLIE->Nombre
Local oSay

dbSelectArea("CLSI")
CLSI->(dbSetFilter({||CLSI->cliente := cCodigo}, "CLSI->cliente := cCodigo"))

    DEFINE DIALOG oDlgS RESOURCE "DLGCLISER" FONT oFont
    
    REDEFINE LISTBOX oLbxS ;
	     FIELDS  Str(CLSI->codigo),;
                                    CLSI->concepto,;
                    Transform(CLSI->cantidad,"@E 999,999"),;
                     Transform(CLSI->Precio,"@E 9,999.99") ;
	     HEADERS "Codigo" , "Servicio" , "Cantidad", "Precio" ;
	     COLOR CLR_BLACK, RGB( 255, 255, 235)  ;
	     ALIAS "CLSI";
	     ID 101 ;
	     UPDATE OF oDlgS
	     
	    oLbxS:bLogicLen := { || CLSI->(RecCount()) }
     REDEFINE SAY oSay PROMPT (cNombre) ID 401 OF oDlgS CENTER BORDER
	    


	   REDEFINE BUTTON ID 301 OF oDlgS SALIR ACTION ( oDlgS:End(),oLbxS:End() )

    REDEFINE BITMAP NAME "LOGO" ADJUST OF oDlgS


    ACTIVATE DIALOG oDlgS CENTERED
    SysRefresh()


Return( nil )
y este es el error que produce

Code: Select all

Application
===========
   Path and name: C:\ALcobendas\Walcob\ALCOB.Exe (32 bits)
   Size:   533,504 bytes
   Time from start: 0 hours 0 mins 4 secs 
   Error occurred at: 18-05-2008, 22:01:31
   Error description: Error FiveWin/1  Non defined Id: No:    121

Stack Calls
===========
   Called from: CONTROL.PRG => TCONTROL:INITIATE(0)
   Called from: BITMAP.PRG => (b)TBITMAP:TBITMAP(0)
   Called from:  => TBITMAP:INITIATE(0)
   Called from:  => __OBJSENDMSG(0)
   Called from: HARBOUR.PRG => OSEND(0)
   Called from: HARBOUR.PRG => ASEND(0)
   Called from: DIALOG.PRG => TDIALOG:INITIATE(0)
   Called from: DIALOG.PRG => TDIALOG:HANDLEEVENT(0)
   Called from:  => DIALOGBOX(0)
   Called from: DIALOG.PRG => TDIALOG:ACTIVATE(0)
   Called from: gesh0110.prg => PONVISTA(220)
   Called from: gesh0110.prg => PONSERVIC(178)
   Called from: gesh0110.prg => (b)CLIENTES(42)
   Called from: BTNBMP.PRG => TBTNBMP:CLICK(0)
   Called from: BTNBMP.PRG => TBTNBMP:LBUTTONUP(0)
   Called from:  => TWINDOW:HANDLEEVENT(0)
   Called from: CONTROL.PRG => TCONTROL:HANDLEEVENT(0)
   Called from: BTNBMP.PRG => TBTNBMP:HANDLEEVENT(0)
   Called from: WINDOW.PRG => _FWH(0)
   Called from:  => WINRUN(0)
   Called from: WINDOW.PRG => TMDIFRAME:ACTIVATE(0)
   Called from: geshinic.prg => MAIN(91)

System
======
   CPU type: Intel(R) Celeron(R) CPU          420  @ 1.60GHz 1600 Mhz
   Hardware memory: 1016 megs

   Free System resources: 90 %
        GDI    resources: 90 %
        User   resources: 90 %

   Compiler version: xHarbour build 1.1.0 Intl. (SimpLex)
   Windows version: 5.1, Build 2600 Service Pack 2
¿ves algún ID 121 ahí?, lo he buscado en todo el prg, y no hay ninguno

Un saludo
Pedro

Posted: Sun May 18, 2008 9:32 pm
by Antonio Linares
Pedro,

te falta la cláusula ID ... en esta línea:

REDEFINE BITMAP NAME "LOGO" ADJUST ID ... OF oDlgS

Posted: Mon May 19, 2008 1:33 pm
by leandro
Amigo a mi me funciona de la siguiente manera:

Code: Select all

DEFINE BRUSH oFondo FILE ".\res\res_403.BMP"
DEFINE DIALOG oCuadr1 RESOURCE "orBodeg1" ICON "#8001" TRANSPARENT BRUSH oFondo

 REDEFINE BUTTONBMP Btn_Grab ID 11 OF oCuadr1 BITMAP "Bgrab" ACTION pValiBod()
 REDEFINE BUTTONBMP Btn_Canc ID 10 OF oCuadr1 BITMAP "Bcanc" ACTION oCuadr1:End()

 REDEFINE GET oB2og1 VAR oB2vg1 ID 4001 OF oCuadr1
 REDEFINE GET oB2og2 VAR oB2vg2 ID 4003 OF oCuadr1
 REDEFINE GET oB2og3 VAR oB2vg3 ID 4004 OF oCuadr1
 REDEFINE GET oB2og4 VAR oB2vg4 ID 4006 OF oCuadr1

 oCuadr1:cTitle := "Agregar Registro Bodegas"

ACTIVATE DIALOG oCuadr1 CENTERED
Espero te sirva

Posted: Mon May 19, 2008 9:36 pm
by Pedro
leandro wrote:Amigo a mi me funciona de la siguiente manera:

Code: Select all

DEFINE BRUSH oFondo FILE ".\res\res_403.BMP"
DEFINE DIALOG oCuadr1 RESOURCE "orBodeg1" ICON "#8001" TRANSPARENT BRUSH oFondo

 REDEFINE BUTTONBMP Btn_Grab ID 11 OF oCuadr1 BITMAP "Bgrab" ACTION pValiBod()
 REDEFINE BUTTONBMP Btn_Canc ID 10 OF oCuadr1 BITMAP "Bcanc" ACTION oCuadr1:End()

 REDEFINE GET oB2og1 VAR oB2vg1 ID 4001 OF oCuadr1 [color=red] <---Esto es un get[/color]
 REDEFINE GET oB2og2 VAR oB2vg2 ID 4003 OF oCuadr1
 REDEFINE GET oB2og3 VAR oB2vg3 ID 4004 OF oCuadr1
 REDEFINE GET oB2og4 VAR oB2vg4 ID 4006 OF oCuadr1

 oCuadr1:cTitle := "Agregar Registro Bodegas"

ACTIVATE DIALOG oCuadr1 CENTERED
Espero te sirva
Hola Leandro
Veamos si me aclaro, mi código es como el tuyo

Code: Select all

   DEFINE BRUSH oBrush FILENAME ".\bmp\gradien.bmp"
    DEFINE DIALOG oDlg RESOURCE "DLGMCLIE" FONT oFont  BRUSH oBrush 

      REDEFINE	GET aClien[1]   ID 201  PICTURE "99999999";
	       VALID Bclien(oDlg,nEvent,aClien)	OF oDlg UPDATE
      REDEFINE	GET aClien[2]   ID 202  PICTURE "@!"  OF oDlg UPDATE
      REDEFINE	GET aClien[3]   ID 203  PICTURE "@!"  OF oDlg UPDATE
      REDEFINE
estos gets salen correctos, lo que no sale correcto es el say que tiene a su lado ya pintado en el recurso...por ejemplo (al primer get)

Cliente cuadro del get donde se inserta el código

El say Cliente, sale en color negro con el fondo en blanco, aunque le ponga la claúsula color RGB(XXX,XXX,XXX), RGB(XXX,XXX,XXX) o bien "W+/BG" o como quieras ponerlo. Para mi que habría que pintar de nuevo los Says en la misma posición y con el color que le pongas al fondo, no sé, quízas desvarío

Un saludo

Posted: Wed May 21, 2008 3:40 pm
by leandro
Amigo realice las pruebas con say y me funciona perfectamente, que version de fw tienes?

Mira la imagen

Image

Ese dialogo tiene un fondo verde y los say estan activos....