Unas cuantas cuestiones (Solucionado )

Unas cuantas cuestiones (Solucionado )

Postby Pedro » Tue May 21, 2013 6:53 pm

Hola a todos

Hoy traigo unas cuantas cuestiones, a ver si me tiráis una tecla

1º - ¿Se pueden poner imágenes PNGS al igual que los BMPS y JPGS de fondo de pantalla?
¿Cómo se pondrían?

2º - ¿Cómo se pondrían (las imágenes .pns) en lo que queda de windows cuando ésta tiene una RibbonBar?
¿Cómo se calcula el espacio para poder poner la imágen y que quede más o menos centrada de alto y de ancho?

3º - Es posible poner los .pngs o los .ico en las barras de opciones de las ventanasy los dialogs, en vez de .bmps ?
¿Cómo se pondrían?

4º - Ya que me voy a centrar en un nuevo proyecto ¿ qué es mejor, Harbour o xHabour? y, como estoy muy habituado a verce ¿qué otra cosa puedo usar, que no sea de pago, para compilar y enlazar?

5º - ¿Qué diferencias hay entre Harbour y xHarbour?

En fín tenía más cosas pero parece que el santo se fue al cielo y se las llevó, en cuanto recuerde el resto os lo pongo.

Por cierto en FiveDbu hecho mucho de menos poder borrar registros en bloque.
Last edited by Pedro on Mon May 27, 2013 12:08 pm, edited 1 time in total.
Un saludo
Pedro
gahetesoft@gmail.com
FWH12.06 BCC582, Xverce CW, Pelles C 6.00.4,PSPAD 4.54
y ahora con ADO
User avatar
Pedro
 
Posts: 464
Joined: Tue Mar 21, 2006 7:30 pm
Location: Córdoba (España)

Re: Unas cuantas cuestiones

Postby lucasdebeltran » Tue May 21, 2013 7:00 pm

Hola Pedro,

En cuanto al compilador, Harbour está mucho más actualizado y es más robusto que xHarbour. Además, Antonio usa prioritariamente Harbour, es su creador, con lo que FWH funciona siempre mejor.

Incluso los de X-ailer y René Flores han acabado aceptando la superioridad incuestionable de Harbour y han migrado a él.

En cuanto a los pngs, yo nunca he usado fondo en la aplicación, creo que puedes poner los pngs sin problema:
viewtopic.php?f=3&t=26363

Espero que te sirva. Un saludo
Muchas gracias. Many thanks.

Un saludo, Best regards,

Harbour 3.2.0dev, Borland C++ 5.82 y FWH 13.06 [producción]

Implementando MSVC 2010, FWH64 y ADO.

Abandonando uso xHarbour y SQLRDD.
User avatar
lucasdebeltran
 
Posts: 1303
Joined: Tue Jul 21, 2009 8:12 am

Re: Unas cuantas cuestiones

Postby Antonio Linares » Tue May 21, 2013 7:57 pm

Pedro,

Desde la versión 13.04 de FiveWin, ya se pueden usar PNGs en las barras de botones y tambien en las RibbonBar.

Tambien se incluye en FWH el nuevo ejemplo vmh.prg que es un GUI para el hbmk2.exe de Harbour, que es un potente make especializado en Harbour. Puedes descargar vmh.exe desde aqui. Te servirá para construir tus EXEs de forma muy sencilla:
https://code.google.com/p/fivewin-contributions/downloads/detail?name=vmh_20130330.zip
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42118
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Unas cuantas cuestiones

Postby Pedro » Wed May 22, 2013 12:49 pm

Gracias a los dos por responder

Lucas el hecho de el equipo de X-ailer y René se hayan decantado por Harbour no me indica nada, tan sólo que ellos lo consideran mejor. Yo pretendo saber las diferencias, ya que llevo bastantes años usando xHarbour y hasta ahora no he tenido ningún problema con él, pero si me voy a cambiar quiero saber que diferencias me voy a encontrar, pues las aplicaciones que hago parten de una biblioteca general y las adapto a lo que necesito.
Lo de que está más actualizado que implica? ¿que hay que bajarse el compilador y recompilar todo con la nueva versión? Cuando digo todo me refiero a la aplicación y a las Lib de Fivewin.

Antonio, ¿Se pueden usar pngs. como fondo de la ventana en la versión 12.06? Si la respuesta es afirmativa ¿qué función llamaría al fichero? y ¿cómo se podría poner en la ventana teniendo en cuenta la barra de botones o la Ribbonbar? (para que quede más o menos centrado de alto y de ancho)
Ya me he bajado el vmh y lo probaré en alguna prueba pequeña y con harbour, gracias.

En otro orden de cosas, he visto que los grupos de la Ribbonbar tienen un bAction, supongo que ¿para que se ejecute una acción cuando se le da foco a la pestaña? ó ¿para cuando se coloca el ratón en el grupo?
¿Hay alguna data o función para cuando se pincha la pestaña ejecutar una acción y cuando se cambia de pestaña otra acción? Hablo, como es lógico, de la Ribbonbar
Last edited by Pedro on Wed May 22, 2013 4:11 pm, edited 1 time in total.
Un saludo
Pedro
gahetesoft@gmail.com
FWH12.06 BCC582, Xverce CW, Pelles C 6.00.4,PSPAD 4.54
y ahora con ADO
User avatar
Pedro
 
Posts: 464
Joined: Tue Mar 21, 2006 7:30 pm
Location: Córdoba (España)

Re: Unas cuantas cuestiones

Postby Antonio Linares » Wed May 22, 2013 2:24 pm

Pedro,

Aqui tienes un ejemplo de como mostrar un PNG de fondo de la ventana. Cambiando los valores 0, 0 lo puedes posicionar en donde desees. En el caso de haber una RibbonBar podrias usar oRibbonBar:nHeight + 1, 0

Code: Select all  Expand view  RUN
#include "FiveWin.ch"

function Main()

   local oWnd, oImage

   DEFINE IMAGE oImage FILENAME "..\bitmaps\pngs\chart.png"

   DEFINE WINDOW oWnd

   ACTIVATE WINDOW oWnd ;
      ON PAINT DrawBitmap( hDC, oImage:hBitmap, 0, 0, oWnd:nWidth, oWnd:nHeight )

   oImage:End()

return nil
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42118
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Unas cuantas cuestiones

Postby Antonio Linares » Wed May 22, 2013 2:37 pm

Pedro,

En un grupo de la RibbonBar el bAction se ejecuta al hacer click en esta zona del grupo:

oGr1:bAction = { || MsgInfo( "click" ) }

Image
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42118
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Unas cuantas cuestiones

Postby Antonio Linares » Wed May 22, 2013 2:53 pm

Pedro,

Para ejecutar una acción al seleccionar una pestaña de la RibbonBar puedes hacer:

oRibbon:aDialogs[ 1 ]:bGotFocus = { | o | MsgInfo( o:oWnd:nOption ) }

En donde 1 es la primera pestaña, 2 la segunda, etc.

o:oWnd:nOption es el índice de la pestaña seleccionada
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42118
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Unas cuantas cuestiones

Postby Antonio Linares » Wed May 22, 2013 2:58 pm

Pedro,

Aqui tienes una de las muchas conversaciones que hemos mantenido acerca de las diferencias entre Harbour y xHarbour:

viewtopic.php?f=3&t=25795&start=0&hilit=harbour+xharbour+differences

https://code.google.com/p/harbour-and-xharbour-builds/downloads/detail?name=xhb-diff.txt#makechanges
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42118
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Unas cuantas cuestiones

Postby Pedro » Wed May 22, 2013 4:10 pm

Gracias Antonio por tus respuestas.

ON PAINT DrawBitmap( hDC, oImage:hBitmap, 0, 0, oWnd:nWidth, oWnd:nHeight )
Esto me deja poner el png pero no me lo deja centrado, tengo que restarle a oWnd:nHeight la cantidad de pixeles que tienen la Barra de Botones y el titulo de la ventana, pero bueno me ha servido perfectamente, ya que con PalbmpDraw no me cogía el png.

Entendido lo del bAction del grupo de la Ribbonbar.
Pedro,
Para ejecutar una acción al seleccionar una pestaña de la RibbonBar puedes hacer:
oRibbon:aDialogs[ 1 ]:bGotFocus = { | o | MsgInfo( o:oWnd:nOption ) }
En donde 1 es la primera pestaña, 2 la segunda, etc.
o:oWnd:nOption es el índice de la pestaña seleccionada

Imagino que si se puede usar bGotFocus, habrá un bLostFocus para ejecutar algo a la salida del foco del grupo, ahora bien, ¿dónde se ponen los bGotFocus de todas las nOption y los bLostFocus de los mismos? ¿Dentro de la creación de la ventana/dialogo, o en el ON INIT?

Tendré que tirar de Google translator para enterarme de las diferencias, pero lo visto por encima, no debería tener ningún problema en compilar cualquiera de las aplicaciones que tengo con Harbour.

Gracias de nuevo
Un saludo
Pedro
gahetesoft@gmail.com
FWH12.06 BCC582, Xverce CW, Pelles C 6.00.4,PSPAD 4.54
y ahora con ADO
User avatar
Pedro
 
Posts: 464
Joined: Tue Mar 21, 2006 7:30 pm
Location: Córdoba (España)

Re: Unas cuantas cuestiones

Postby Antonio Linares » Wed May 22, 2013 5:54 pm

Pedro,

Aqui tienes un ejemplo:

Code: Select all  Expand view  RUN
// TESTING ROUNDSIZE


#include "FiveWin.ch"
#include "ribbon.ch"

//----------------------------------------------------------------------------//

function Main()

   local oGrupo, oBtn1, oRibbon, oWnd
   local oBtn2, oBtn3, oBtn4

   SetBalloon( .T. )

   DEFINE WINDOW oWnd FROM 1, 1 To 22, 75 ;
      TITLE "This is a MDI enviroment"
   
   DEFINE RIBBONBAR oRibbon PROMPTS "Start","Edition","Tools","Themes","Help" OF oWnd ;
          HEIGHT 200 TOPMARGIN 25
   
   ADD GROUP oGrupo RIBBON oRibbon TO OPTION 1 PROMPT "Only a Group to Test"
   
   @ 05,04 ADD BUTTON oBtn1 PROMPT "Round 2" ;
           GROUP oGrupo SIZE 142, 25 Right BORDER ROUND ROUNDSIZE 2

   @ 35,04 ADD BUTTON oBtn1 PROMPT "Round 4" ;
           GROUP oGrupo SIZE 142, 25 Right BORDER ROUND ROUNDSIZE 4

   @ 65,04 ADD BUTTON oBtn1 PROMPT "Round 6" ;
           GROUP oGrupo SIZE 142, 25 Right BORDER ROUND ROUNDSIZE 6

   @ 95,04 ADD BUTTON oBtn1 PROMPT "Round 8" ;
           GROUP oGrupo SIZE 142, 25 Right BORDER ROUND ROUNDSIZE 8

   @ 125,04 ADD BUTTON oBtn1 PROMPT "Round 10" ;
           GROUP oGrupo SIZE 142, 25 Right BORDER ROUND ROUNDSIZE 10

   oRibbon:aDialogs[ 1 ]:bGotFocus = { | o | MsgInfo( "GotFocus 1" ) }
   oRibbon:aDialogs[ 1 ]:bLostFocus = { | o | MsgInfo( "LostFocus 1" ) }

   oRibbon:aDialogs[ 2 ]:bGotFocus = { | o | MsgInfo( "GotFocus 2" ) }
   oRibbon:aDialogs[ 2 ]:bLostFocus = { | o | MsgInfo( "LostFocus 2" ) }

   SET MESSAGE OF oWnd TO "A message bar"

   ACTIVATE WINDOW oWnd

return nil
 
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42118
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Unas cuantas cuestiones

Postby Pedro » Sat May 25, 2013 4:26 pm

Hola Antonio

He probado el ejemplo que me has puesto en el anterior post y no funciona.
Bueno no funciona para mi, para lo que yo deseo usar estas o parecidas funciones.
Veamos el bGotfocus si funciona, entra a la función por la pestaña correcta que es la que se activa.
El bLostfocus no funciona, ya que es lo primero que se ejecuta cuando entras en una pestaña, y se ejecuta en la pestaña que has activado
cuando debería ser en la que has desactivado, que es la que ha perdido el foco.
¿Cómo lograr que el bLostfocus se ejecute en la pestaña que ha perdido el foco? Esa es la cuestión

Muchas gracias Antonio
Un saludo
Pedro
gahetesoft@gmail.com
FWH12.06 BCC582, Xverce CW, Pelles C 6.00.4,PSPAD 4.54
y ahora con ADO
User avatar
Pedro
 
Posts: 464
Joined: Tue Mar 21, 2006 7:30 pm
Location: Córdoba (España)

Re: Unas cuantas cuestiones

Postby Antonio Linares » Sat May 25, 2013 6:08 pm

Pedro,

Es que en realidad una pestaña nunca pierde foco. Lo que lo pierde o lo gana es un group, que esta construido con un diálogo.

Si lo analizas asi, veras que la secuencia es correcta (a mi me lo parece) :-)

Recibe el foco y luego lo pierde porque se lo da nuevamente a la ribbon
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42118
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Unas cuantas cuestiones

Postby Pedro » Sat May 25, 2013 8:35 pm

Antonio, ¿Para qué están las pestañas? ¿Acaso no es para pasar de un grupo, (o varios grupos) que hay dentro de cada una, a otra que contiene, nada, un grupo o varios grupos?
Veamos si me explico con tu ejemplo.
Si yo en la primera pestaña pongo tres grupos de botones, tengo una pestaña con tres grupos. Si repito esto mismo con todas las pestañas, tendré cinco pestañas y tres grupos en cada una, total quince grupos de botones.
Si cada pestaña es una opción de programa, las acciones de sus grupos de botones no tendrá nada que ver con las acciones de los grupos de botones de las otras pestañas,
por ejemplo lo que se haga en tools no tendrá nada que ver con lo que se haga en themes, o lo que se haga en edition.
Si yo quiero desplegar un browse al entrar en edition no tengo por qué desplegarlo en themes,ni en tools. Cuando entre en esas opciones desplegaré la acción asociada a su pestaña, ya que los botones o grupos de botones, (ya que al menos un grupo ha de tener la pestaña) tendrán que hacer las acciones asociadas al tema de la pestaña.
Yo al menos no concibo en una pestaña de facturación poner un grupo de botones para los ficheros maestros que ya tienen su pestaña propia, eso sería repetir y repetir en los grupos los mismos botones de otras pestañas con las mismas acciones, me parece redundante.
¿Te imaginas, Antonio, un programa de gestión que tenga las pestañas siguientes, INICIO, FICHEROS, ALBARANES, FACTURAS, ESTADÍSTICAS, SALIR, y tengamos que repetir grupos de botones en las pestañas?
No sería más facil, por ejemplo, al entrar en albaranes, desplegar un browse de albaranes, ejecutar las acciones de sus botones y al cambiar de pestaña cerrar ese browse.
O en una gestión de cobros, al entrar en facturas, desplegar una ventana con un browse de la tabla de facturas, cuando sales cierras. Entras en cobros despliegas una ventana con un browse de la tabla de cobros, o si entras en talones abrir la tabla de talones, no sé son sólo unos ejemplos.
Si me hago caso de lo que dices tendré que tener una sola pestaña como tantos grupos de acciones diferentes como opciones tenga, aunque algunos grupos no tengan nada que ver unos con otros y con la particularidad de saber si caben o no a la vista en la ribbon.
Un saludo
Pedro
gahetesoft@gmail.com
FWH12.06 BCC582, Xverce CW, Pelles C 6.00.4,PSPAD 4.54
y ahora con ADO
User avatar
Pedro
 
Posts: 464
Joined: Tue Mar 21, 2006 7:30 pm
Location: Córdoba (España)

Re: Unas cuantas cuestiones

Postby Daniel Garcia-Gil » Sun May 26, 2013 1:31 pm

Pedro
Pedro wrote:¿Para qué están las pestañas? ¿Acaso no es para pasar de un grupo, (o varios grupos) que hay dentro de cada una, a otra que contiene, nada, un grupo o varios grupos?


Hace exactamente eso, controla SUS grupos y controles dentro de la ribbon, no fuera de la ribbon.
Si bien existe un espacio sin utilizar debajo de la ribbon, util para desplegar controles, lo que muestras o quitas en ese espacio dependera de ti y como lo manipules segun la logica de tu sistema

Pedro wrote:Si yo quiero desplegar un browse al entrar en edition no tengo por qué desplegarlo en themes,ni en tools. Cuando entre en esas opciones desplegaré la acción asociada a su pestaña, ya que los botones o grupos de botones, (ya que al menos un grupo ha de tener la pestaña) tendrán que hacer las acciones asociadas al tema de la pestaña.

exactamente lo que te comente anteriormente...
si quieres desplegar el browse (en el espacio libre debajo de la ribbon) deberas controlar tu ese proceso, hacer las verificaciones pertinentes para que eso sea posible

Pedro wrote:No sería más facil, por ejemplo, al entrar en albaranes, desplegar un browse de albaranes, ejecutar las acciones de sus botones y al cambiar de pestaña cerrar ese browse.
O en una gestión de cobros, al entrar en facturas, desplegar una ventana con un browse de la tabla de facturas, cuando sales cierras. Entras en cobros despliegas una ventana con un browse de la tabla de cobros, o si entras en talones abrir la tabla de talones, no sé son sólo unos ejemplos.

Eso lo puedes hacer perfectamente, solo que el exito del mismo dependera de como lo manipules

te voy a publicar un ejemplo funcional de lo que creo tu quieres, despues lo puedes adaptar a tus necesidades...

descarga el ejecutable: http://sitasoft.net/fivewin/samples/ribtest.zip
Code: Select all  Expand view  RUN

#include "fivewin.ch"
#include "ribbon.ch"

function main()

    local o

    o = TApp():new()
   
    o:oMain = o

    o:run()

return nil


class TParent

    classdata oMain

    data hObjs
    data hDatas

    method new()

endclass

method TParent:new()

    ::hObjs  = {=>}
    ::hDatas = {=>}

return self

//------------------------------------------------//

class TApp from TParent

    data hActions

    method buildStart()
    method buildEdition()

    method new()
    method run()

    method closePanel()

    method movePanel(nWidth, nHeight)

    method selectOption(nNew, nOld ) inline eval( ::hActions[nNew] )

    method validaPanel()

    method activateWindow()
    method defineWindow()

endclass

//------------------------------------------------//

method TApp:new()

    ::Super:new()

    ::hActions = {=>}
    ::hActions[1] = {|| TStart():run() }
    ::hActions[2] = {|| TEdition():run() }
    ::hActions[3] = {|| TApp():validaPanel() }
    ::hActions[4] = {|| TApp():validaPanel() }
    ::hActions[5] = {|| TApp():validaPanel() }

    ::hObjs["PANEL"] = nil

return Self

method TApp:buildStart()
    local o := TStart()

    add group ::hObjs["GRP1_START"] ribbon ::hObjs["RIBBON"] to option "START" prompt "Only a Group to Test"
   
    @ 05,04 add button prompt "Boton 1 Start" ;
    group ::hObjs["GRP1_START"] size 142, 25;
    action o:button1()

    @ 35,04 add button prompt "Boton 1 Start" ;
    group ::hObjs["GRP1_START"] size 142, 25;
    action o:button2()

return nil

method TApp:buildEdition()

   add group ::hObjs["GRP1_EDITION"] ribbon ::hObjs["RIBBON"] to option "EDITION" prompt "Only a Group to Test"
   
   @ 05,04 add button prompt "Boton 1 Edition" ;
           group ::hObjs["GRP1_EDITION"] size 142, 25

   @ 35,04 add button prompt "Boton 2 Edition" ;
           group ::hObjs["GRP1_EDITION"] size 142, 25

return nil

method TApp:closePanel()

    if ::oMain:hObjs["PANEL"] != nil
        ::oMain:hObjs["PANEL"]:end()
        ::oMain:hObjs["PANEL"] := nil
    endif

return nil

method TApp:run()

    local oMain := ::oMain

    SetBalloon( .T. )
    DEFINE WINDOW ::hObjs["MAIN_WND"] FROM 1, 1 To 22, 75
   
    DEFINE RIBBONBAR ::hObjs["RIBBON"] PROMPTS "Start","Edition","Tools","Themes","Help" OF ::hObjs["MAIN_WND"] ;
    HEIGHT 160 TOPMARGIN 25 2010
   
    ::buildStart()
    ::buildEdition()
    ::hObjs["RIBBON"]:bAction = {| nNewOption, nOldOption | ::selectOption( nNewOption, nOldOption ) }
    ::selectOption(1)

    ACTIVATE WINDOW ::hObjs["MAIN_WND"];
    on resize( oMain:movePanel( nWidth, nHeight ) )

return nil

method TApp:movePanel( nWidth, nHeight )
    local oMain := ::oMain
    local nH := ::oMain:hObjs["RIBBON"]:nHeight

    if ::oMain:hObjs["PANEL"] != nil
        if nWidth != nil .and. nHeight != nil
            ::oMain:hObjs["PANEL"]:move( nH, 5, nWidth - 8,  nHeight - nH - 4 )
        endif
    endif

return nil

method TApp:validaPanel()

    if ::oMain:hObjs["PANEL"] != nil
        ::oMain:closePanel()
        ::oMain:hObjs["MAIN_BRUSH"]:end()
    end

return nil

method TApp:defineWindow( nClr )
   
    define brush ::oMain:hObjs["MAIN_BRUSH"] COLOR nClr

    define window ::oMain:hObjs["PANEL"] ;
    style nOR( WS_CHILD, WS_VISIBLE, WS_CLIPCHILDREN ) of ::oMain:hObjs["MAIN_WND"];
    from 217, 5 to ::oMain:hObjs["MAIN_WND"]:nHeight, ::oMain:hObjs["MAIN_WND"]:nWidth pixel;
    brush ::oMain:hObjs["MAIN_BRUSH"]

return nil

method TApp:activateWindow()
    local oMain := ::oMain

    activate window ::oMain:hObjs["PANEL"] ;
    on init ( oMain:movePanel( oMain:hObjs["MAIN_WND"]:nWidth-16,  oMain:hObjs["MAIN_WND"]:nHeight-38 ) )

return nil

//------------------------------------------------//

class TStart from TParent


    method button1() inline MsgInfo("Action Button 1 Start")
    method button2()
   
    method run()

endclass


method TStart:button2()

    ::oMain:hObjs["MAIN_BRUSH"]:end()

    define brush ::oMain:hObjs["MAIN_BRUSH"] color CLR_CYAN

    ::oMain:hObjs["PANEL"]:setBrush( ::oMain:hObjs["MAIN_BRUSH"] )

return nil

method TStart:run()
   
    local oMain := ::oMain

    ::oMain:validaPanel()

    ::oMain:defineWindow( CLR_BLUE )

    @ 10,10 say "ESTOY EN START" pixel

    @ 40,10 button "Selecciona Edition" of ::oMain:hObjs["PANEL"] size 120,20 pixel action oMain:hObjs["RIBBON"]:setOption(2)

    ::oMain:activateWindow()


return nil

//------------------------------------------------//

class TEdition from TParent

    method run()

endclass

method TEdition:run()
   
    local oMain := ::oMain

    ::oMain:validaPanel()

    ::oMain:defineWindow( CLR_RED )

    @ 10,10 say "ESTOY EN EDITION" pixel

    @ 40,10 button "Selecciona start" of ::oMain:hObjs["PANEL"] size 120,20 pixel action oMain:hObjs["RIBBON"]:setOption(1)

    ::oMain:activateWindow()

return nil
 
User avatar
Daniel Garcia-Gil
 
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita

Re: Unas cuantas cuestiones

Postby Pedro » Sun May 26, 2013 4:43 pm

Hola Daniel

Hace exactamente eso, controla SUS grupos y controles dentro de la ribbon, no fuera de la ribbon.
Si bien existe un espacio sin utilizar debajo de la ribbon, util para desplegar controles, lo que muestras o quitas en ese espacio dependera de ti y como lo manipules segun la logica de tu sistema


De acuerdo con lo que dices en cuanto al espacio debajo de la ribbon, de acuerdo en que cada pestaña controla sus grupos y los controles de esos grupos pero yo pregunto ¿quién controla las pestañas?

exactamente lo que te comente anteriormente...
si quieres desplegar el browse (en el espacio libre debajo de la ribbon) deberas controlar tu ese proceso, hacer las verificaciones pertinentes para que eso sea posible

Cierto y vuelvo a preguntar como ya lo he hecho antes, con qué acción de las pestañas controlo el que al entrar pueda ejecutar una acción y al salir de ella, por haber entrado en otra, claro, pueda ejecutar otra acción.
El bGotfocus de los diálogos, como decía Antonio, me vale, pues al entrar es el primer diálogo o grupo el que toma el foco, como sé en que opción entro, sé que acción debo ejecutar según la opción en que haya entrado. Peeeeeeeeeero, ¿cómo sé la opción anterior donde estaba? Tu has puesto un ejemplo perfecto con POO y yo tengo el programa terminado y debo hacerlo con los comando de la ribbon y sus grupos, aprovechando la clase, sus datas y sus methods. Por lo cual tu ejemplo me vale para saber que se puede hacer, ahora el tema está en saber cómo. Aunque ya he intuido que a la clase le falta algo para hacerlo, pues no sé como adaptar el poo a mi programa.
Un saludo
Pedro
gahetesoft@gmail.com
FWH12.06 BCC582, Xverce CW, Pelles C 6.00.4,PSPAD 4.54
y ahora con ADO
User avatar
Pedro
 
Posts: 464
Joined: Tue Mar 21, 2006 7:30 pm
Location: Córdoba (España)

Next

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 40 guests