COLOCAR BUTTONBAR EN UNA oFldx:aDialogs[n]

COLOCAR BUTTONBAR EN UNA oFldx:aDialogs[n]

Postby joseluisysturiz » Thu Feb 25, 2016 10:48 pm

Saludos, no se si alguien ya lo pregunto, llevo rato buscando el tema y no consigo algo relacionado, para no tener que crear varios botones en la pestaña del folder , lo que me gustaria si es posible, es colocar una BUTTOBAR en los Dialogos de un Folderex, ademas los botones varian dependiendo de la pestaña, lo intente asi...agradezo sugerencias y ayuda, gracias...saludos... :shock:

Code: Select all  Expand view

   DEFINE BUTTONBAR aBar[1] SIZE 60, 60 OF oFldx:aDialogs[3] 2010

   aBar[1]:bRClicked := {|| NIL }

   DEFINE BUTTON aBtn[2] OF aBar[1] NOBORDER ; // IMPRIMIR
      RESOURCE "print32" ;
      PROMPT "Imprimir" ;
      TOOLTIP "Imprmir Ficha" ;
      MESSAGE "Imprime Ficha Miembro de Iglesia" ;
      ACTION ( Alert("imprimir listado...en desarrollo") )

   SET MESSAGE OF oFldx:aDialogs[3] TO ""
 


pero obtengo el siguiente error..

Code: Select all  Expand view

Application
===========
   Path and name: D:\sisinge\programandolos\NOM_ROBLES\nom_robles.exe (32 bits)
   Size: 6,929,408 bytes
   Compiler version: xHarbour 1.2.3 Intl. (SimpLex) (Build 20141106)
   FiveWin  Version: FWHX 15.02
   Windows version: 6.1, Build 7601 Service Pack 1

   Time from start: 0 hours 0 mins 1 secs
   Error occurred at: 25/02/2016, 18:21:31
   Error description: Error FiveWin/6  Cannot create window or control:
Class: TBAR
Caption:
System Error: No se puede crear una ventana secundaria de primer nivel.


Stack Calls
===========
   Called from: .\source\classes\WINDOW.PRG => WNDCREATEERROR( 822 )
   Called from: .\source\classes\WINDOW.PRG => TBAR:CREATE( 803 )
   Called from: .\source\classes\BAR.PRG => TBAR:NEW( 147 )
   Called from: ma_personal.prg => DAT_PERSONAL( 452 )
   Called from: ma_personal.prg => MA_PERSONAL( 27 )
   Called from: nom_robles.prg => (b)MAIN( 81 )
   Called from: .\source\classes\WINDOW.PRG => TMDIFRAME:ACTIVATE( 1046 )
   Called from: nom_robles.prg => MAIN( 81 )
 
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela

Re: COLOCAR BUTTONBAR EN UNA oFldx:aDialogs[n]

Postby cnavarro » Fri Feb 26, 2016 1:15 am

Jose Luis, yo tengo en FivEdit definidas ButtonBar en todos los Dialogs de los FolderEx sin ningun problema, espero te sirva de algo

Code: Select all  Expand view

     nPos := 1
     @ 0, 1 FOLDEREX ::oFldL ;
     PROMPTS Upper( "Project" ), Upper( "DataBases" ), Upper( "Recent" ) ; //, "Template" ;
     OF ::oWnd OPTION 1 ; //BOTTOM ;
     TAB HEIGHT ::nHTab ;
     SIZE ::nLeftPos - 3,  nHt + 8;
     PIXEL FONT ::oFontCtrls //NOBORDER

     ::oFldL:SetColor( ::nTextColorL, ::nBackColorL )
     ::oFldL:nFolderHeight  := ::nHTab
     ::oFldL:nRound         := 0
     ::oFldL:aGradSel       := { { 1, CLR_VSTAB, CLR_VSTAB } }
     ::oFldL:aGradUnSel     := { { 1, CLR_VSBAR, CLR_VSBAR } }
     ::oFldL:nSeparator     := 0
     DEFINE BUTTONBAR oBarFl1 SIZE 28, 28 OF ::oFldL:aDialogs[ nPos ] 2013 //NOBORDER
     DEFINE BUTTONBAR oBarFl2 SIZE 28, 28 OF ::oFldL:aDialogs[ ++nPos ] 2013 //NOBORDER
     DEFINE BUTTONBAR oBarFl3 SIZE 28, 28 OF ::oFldL:aDialogs[ ++nPos ] 2013 //NOBORDER
     oBarFl1:bRClicked := { | o | .T. }
     oBarFl2:bRClicked := { | o | .T. }
     oBarFl3:bRClicked := { | o | .T. }
     nPos   := 1
     ::oFldL:aDialogs[ nPos ]:oTop    := oBarFl1
     ::oFldL:aDialogs[ ++nPos ]:oTop  := oBarFl2
     ::oFldL:aDialogs[ ++nPos ]:oTop  := oBarFl3


 
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6541
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: COLOCAR BUTTONBAR EN UNA oFldx:aDialogs[n]

Postby joseluisysturiz » Fri Feb 26, 2016 4:42 am

Navarro, gracias por responder rapidamente, he intentado colocar las lineas en diferentes parte y sigue el mismo error, aca anexo algo de estructura de mi codigo, el dlg donde esta el folder tiene una button bar y trabaja todo bien, el problema es cuando lo quiero en el dialog del folder, agradezco la ayuda y si es posible algun sample o decirme donde debo colocarlo en mi codigo, gracias, saludos... :shock:

Code: Select all  Expand view

PROCEDURE pruebas()

   LOCAL ....

// INICIO DLG
   DEFINE DIALOG oDlg RESOURCE "ROB_FLD_PERSONAL" OF oDatos:oWndPPAL ;
      TITLE oDatos:cTitDlg + " - Ficha de Personal"
// FOLDER EN DLG
   REDEFINE FOLDEREX oFldx ID 401 OF oDlg ;
      PROMPT "Pestaña 1", "Pestaña 2", "Pestaña con ButtorBar" ,;
      BITMAPS "16", "16", "16" ;
      DIALOGS "ROB_PER_DATPER", "ROB_PER_DATLAB", "ROB_PER_VIAJES"

oFldx:nOption(3) // PESTAÑA QUE SE INICIARIA

*   DEFINE BUTTONBAR aBar[1] SIZE 60, 60 OF oFldx:aDialogs[3] 2010
*   oFldx:aDialogs[3]:oTop := aBar[1]

// PESTAÑA-1 - DATOS PERSONALES
   REDEFINE GET aGet[1] VAR aVar[1] ID 4002 OF oFldx:aDialogs[1] ;
      PICTURE "#####" UPDATE READONLY

// PESTAÑA-2 - DATOS LABORALES
   REDEFINE DBCOMBO aGet[22] VAR aVar[22] ID 4032 OF oFldx:aDialogs[2] UPDATE ;
      ITEMS aEmp1 ;
      LIST  aEmp2

// PESTAÑA-3 - DETALLES DE VIAJES
   DEFINE BUTTONBAR aBar[1] SIZE 60, 60 OF oFldx:aDialogs[3] 2010

   aBar[1]:bRClicked := {|| NIL }

   DEFINE BUTTON aBtn[2] OF aBar[1] NOBORDER ;
      RESOURCE "print32" ;
      PROMPT "Imprimir" ;
      TOOLTIP "Imprmir Ficha" ;
      MESSAGE "Imprime" ;
      ACTION ( Alert("imprimir listado...en desarrollo") )

   SET MESSAGE OF oFldx:aDialogs[3] TO ""

   ACTIVATE DIALOG oDlg CENTER ;
      ON INIT ( bar_personal( oDlg, oFldx, lNew, aVar, oBrwPer ) )

RETURN

PROCEDURE bar_personal( oDlg, oFldx, lNew, aVar, oBrwPer )

   LOCAL oBar, aBtn[10]

   DEFINE BUTTONBAR oBar SIZE 60, 60 OF oDlg 2010

   oBar:bRClicked := {|| NIL }

   DEFINE BUTTON aBtn[1] OF oBar NOBORDER ; // IMPRIMIR
      RESOURCE "print32" ;
      PROMPT "Imprimir" ;
      TOOLTIP "Imprmir Ficha" ;
      MESSAGE "Imprimir" ;
      ACTION ( Alert("imprimir...en desarrollo") )

   DEFINE BUTTON aBtn[1] OF oBar NOBORDER ;
      RESOURCE "salir32" ;
      PROMPT "Salir" ;
      ToolTip "Salir y Cerrar Sistema" ;
      MESSAGE "Salir al Menu Principal" ;
      ACTION ( oDlg:END() ) GROUP

   SET MESSAGE OF oDlg TO ""

   oFldx:MOVE( oBar:nHeight + 5, 5 ) // COLOCO FOLDER DEBAJO DE LA BUTTONBAR

RETURN
 
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela

Re: COLOCAR BUTTONBAR EN UNA oFldx:aDialogs[n]

Postby cnavarro » Fri Feb 26, 2016 6:33 am

Jose Luis, quizás el problema pueda estar en que estás utilizando un dialogo desde recursos y el buttonbar no
A ver si tienes un pequeño ejemplo y podemos echarle un vistazo
Podrías cambiar ese dialogo por otro definido desde codigo y probarlo
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6541
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: COLOCAR BUTTONBAR EN UNA oFldx:aDialogs[n]-RESUELTO

Postby joseluisysturiz » Fri Feb 26, 2016 4:38 pm

Saludos, Navarro, de la forma en que la haces no me funciono, pero analizando la forma en que agregue la button bar al dlg principal, se me ocurrio hacer lo mismo con las demas barras y funciono, solo las coloque en el INIT del DLG principal y listo, dejo el sample por si alguien lo necesita, funciona para folder y folderex, aunque no es nada del otro mundo, cuando ya se esta resuelto, gracias por tu ayuda, saludos... :shock:

Code: Select all  Expand view

function prueba()

   local oDlg, oFld, oBar

   DEFINE DIALOG oDlg TITLE "FiveWin Dynamic folders" ;
      FROM 5, 5 TO 20, 50

   @ 0.5, 1 FOLDER oFld PROMPT "&xBase", "&And OOP", "&Power" ;
      OF oDlg SIZE 160, 90

   @ 1, 1 BUTTON "&Hello" OF oFld:aDialogs[1] ;
     ACTION MsgInfo( "Hello world!" )

   ACTIVATE DIALOG oDlg CENTERED ;
      on init barra( oFld, oDlg )

return nil

PROCEDURE bar_fld3( oFld, oDlg ) // BARRA BOTONES PESTAÑA 3

   LOCAL oBar, aBtn[10]

   DEFINE BUTTONBAR oBar SIZE 50, 50 OF oFldx:aDialogs[3] 2010

   oBar:bRClicked := {|| NIL }

   DEFINE BUTTON aBtn[1] OF oBar NOBORDER ; // INICIO
      RESOURCE "azul_inicio32" ;
      PROMPT "Primero" ;
      TOOLTIP "Va al Primer Registro" ;
      MESSAGE "Va al Primer Registro" ;
      ACTION ( Alert("primer registro") ) GROUP

   DEFINE BUTTON aBtn[1] OF oBar NOBORDER ; // FIN
      RESOURCE "azul_fin32" ;
      PROMPT "Ultimo" ;
      TOOLTIP "Va al Ultimo Registro" ;
      MESSAGE "Va al Ultimo Registro" ;
      ACTION ( Alert("ultimo registro") )

   DEFINE BUTTON aBtn[1] OF oBar NOBORDER ; // BUSCAR
      RESOURCE "buscar32" ;
      PROMPT "Buscar" ;
      TOOLTIP "Buscar Registro" ;
      MESSAGE "Buscar un Registro" ;
      ACTION ( Alert("buscar un registro") ) GROUP

   DEFINE BUTTON aBtn[1] OF oBar NOBORDER ; // FILTRAR
      RESOURCE "filtrar32" ;
      PROMPT "Filtrar" ;
      TOOLTIP "Filtrar Registros" ;
      MESSAGE "Filtrar Registros" ;
      ACTION ( Alert("Filtrar Registros") )

   DEFINE BUTTON aBtn[1] OF oBar NOBORDER ; // ORDENAR
      RESOURCE "ordenado32" ;
      PROMPT "Ordenar" ;
      TOOLTIP "Ordenar Registros" ;
      MESSAGE "Ordenar Registros" ;
      ACTION ( Alert("Ordenar Registros") )

   DEFINE BUTTON aBtn[1] OF oBar NOBORDER ; // IMPRIMIR
      RESOURCE "print32" ;
      PROMPT "Imprimir" ;
      TOOLTIP "Imprmir Listado" ;
      MESSAGE "Imprime Listado" ;
      ACTION ( Alert("imprimir ficha...en desarrollo") ) GROUP
//
   SET MESSAGE OF oDlg TO ""

RETURN
 
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 96 guests