FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Ocultar la ButtonBar
Posts: 1054
Joined: Sun Oct 09, 2005 10:41 PM
Ocultar la ButtonBar
Posted: Tue Jul 19, 2022 03:20 PM
Estimado, buenos dias

Para usar la mayor parte de la ventana principal de una aplicaci贸n, utilizo oBar:Hide() la cual oculta la Barra de botones, pero ese espacio desocupado, no permite que una ventana lo ocupe, es como un esdpacio fantasma. alguna sugerencia?


Code (fw): Select all Collapse
DEFINE WINDOW oWnd MDI ;
       COLOR CLR_BLACK, CLR_HGRAY ;
       MENU (oMenu := BuildMenuPr(oCn, oBar ) );
       MENUINFO 1 ;
       ICON oIcon ; //        BRUSH oBrush ;
       TITLE "SIAE" + SPACE(20) + oApp:cRazSoc

       DEFINE BUTTONBAR oBar ;
              SIZE 90, 49 ; //  70, 50
              OF oWnd ;
              CURSOR oCursor 3DLOOK 2015

       DEFINE BUTTON oFacEl OF oBar;
              RESOURCE "FACT_EL" TOP NOBORDER GROUP;
              PROMPT "Ventas" ;
              TOOLTIP "Ventas y Facturaci贸n Electr贸nica" ;
              MESSAGE "Ventas y Facturaci贸n Electr贸nica" ;
              ACTION ( VentaElec(oWnd, oCn, oBar, oSalir) )
              oFacEl:nWidth := 140
 ....
..
..
Function VentaElec(oWnd, oCn, oBar, oSalir)
oBar:HIde()
...
..

       REDEFINE BTNBMP oSalVe ;
                RESOURCE "SALIR" LEFT ;
                PROMPT "Salir" ;
                ACTION (nNumWin--, oBar:GoTop(), oBar:Show(), oBar:Refresh(),( oWnd:bResized:={|| oSalir:Move(2,oWnd:nWidth()-110)} ), oWNd:Refresh(), oWndA:End()) ;
                ID 101 OF oDlg
                oSalVe:cToolTip := "Salir del M贸dulo"

..
..
..
.
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Ocultar la ButtonBar
Posted: Tue Jul 19, 2022 03:22 PM

Estimado Willy,

Prueba con oWnd:oBar := nil y luego oWnd:Resize()

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 1054
Joined: Sun Oct 09, 2005 10:41 PM
Re: Ocultar la ButtonBar
Posted: Tue Jul 19, 2022 04:25 PM

GRacias por contestar Antnio,
pero el area desocupara sigue poder ser utilizada...

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Ocultar la ButtonBar
Posted: Tue Jul 19, 2022 06:35 PM

Prueba con oWnd:oWndClient:Resize()

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 1054
Joined: Sun Oct 09, 2005 10:41 PM
Re: Ocultar la ButtonBar
Posted: Thu Jul 21, 2022 11:31 PM

GRacias Antonio,
Tampoco funciona...

:roll:

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Ocultar la ButtonBar
Posted: Fri Jul 22, 2022 04:28 AM

Faltaria hacer oWnd:oTop := nil adem谩s de oWnd:oBar := nil

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 1054
Joined: Sun Oct 09, 2005 10:41 PM
Re: Ocultar la ButtonBar
Posted: Sat Jul 23, 2022 03:09 PM

Gracias Antonio, sigue lo mismo,,,,

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Ocultar la ButtonBar
Posted: Sat Jul 23, 2022 03:26 PM
Querido Willy,

Probado y funcionando bien:
Code (fw): Select all Collapse
#include "FiveWin.ch"

function Main()

   local oWnd, oBar

   DEFINE WINDOW oWnd MDI

   DEFINE BUTTONBAR oBar 3D OF oWnd

   DEFINE BUTTON OF oBar ACTION ( oBar:Hide(), oWnd:oBar := oWnd:oTop := nil,;
                                  oWnd:oWndClient:SetPos( 0, 0 ),;
                                  oWnd:oWndClient:SetSize( oWnd:oWndClient:nWidth, oWnd:oWndClient:nHeight + oBar:nHeight ) )

   ACTIVATE WINDOW oWnd

return nil
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 1054
Joined: Sun Oct 09, 2005 10:41 PM
Re: Ocultar la ButtonBar
Posted: Wed Jul 27, 2022 08:47 PM
Estimado Antonio, funciona correctamente, con algunas observaciones
-No es posible recuperar la barra de botones de manera correcta,,,
al retornar de la ventana "agrandada", requiero que la barra de botones se reactive, lo hago asi pero no ejecuta accion alguna:
Salu2
Code (fw): Select all Collapse
oBar:GoTop(), oBar:Show(), oBar:Refresh(),( oWnd:bResized:={|| oSalir:Move(2,oWnd:nWidth()-110)} ), oWNd:Refresh()
Posts: 1344
Joined: Wed Nov 16, 2005 09:14 PM
Re: Ocultar la ButtonBar
Posted: Wed Jul 27, 2022 11:09 PM
Creo que hay algo que se activa en el resize
Prueba a ver si te da una pista (aunque esto hace un parpadeo horrible)
Code (fw): Select all Collapse
#include "FiveWin.ch"
STATIC oWnd, oBar
function Main()

   DEFINE WINDOW oWnd MDI MENU HazMenu()

   DEFINE BUTTONBAR oBar 3D OF oWnd SIZE 60,60

   DEFINE BUTTON PROMPT "Sin Barra" OF oBar  ACTION ( oBar:Hide(), oWnd:oTop := nil,;
                                  oWnd:oWndClient:SetPos( 0, 0 ),;
                                  oWnd:oWndClient:SetSize( oWnd:oWndClient:nWidth, oWnd:oWndClient:nHeight + oBar:nHeight ) )

   ACTIVATE WINDOW oWnd Maximized

return nil

STATIC FUNCTION HazMenu()

   local oMenu

   MENU oMenu
      MENUITEM "&Mostrar Barra" ACTION ( oBar:Show(), oWnd:Normal(),oWnd:Maximize(),;                                  
                                  oWnd:oWndClient:SetSize( oWnd:oWndClient:nWidth, oWnd:oWndClient:nHeight - 60  ) )
   ENDMENU

return oMenu
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Ocultar la ButtonBar
Posted: Thu Jul 28, 2022 03:11 PM
Esta versi贸n no parpadea, tan solo le falta que al ocultar la barra de botones, las ventanas hijas se redimensionasen:
Code (fw): Select all Collapse
#include "FiveWin.ch"
STATIC oWnd, oBar
function Main()

   DEFINE WINDOW oWnd MDI MENU HazMenu()

   DEFINE BUTTONBAR oBar 3D OF oWnd SIZE 60,60

   DEFINE BUTTON PROMPT "Sin Barra" OF oBar  ACTION ( oBar:Hide(), oWnd:oTop := oWnd:oBar := nil,;
                                  oWnd:oWndClient:SetPos( 0, 0 ),;
                                  oWnd:oWndClient:SetSize( oWnd:oWndClient:nWidth, oWnd:oWndClient:nHeight + oBar:nHeight ),;
                                  oWnd:oWndClient:Refresh() )

   ACTIVATE WINDOW oWnd Maximized

return nil

STATIC FUNCTION HazMenu()

   local oMenu

   MENU oMenu
      MENUITEM "&Mostrar Barra" ACTION ( oWnd:oWndClient:SetPos( oBar:nTop, 0 ),;                                  
                                         oWnd:oWndClient:SetSize( oWnd:oWndClient:nWidth, oWnd:oWndClient:nHeight - oBar:nHeight() ),;
                                         oWnd:oTop := oWnd:oBar := oBar, oWnd:Resize(),; 
                                         oBar:Show() )
      MENUITEM "New..." ACTION oWnd:ChildNew()                            
      oMenu:AddMdi()                            
   ENDMENU

return oMenu
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 1054
Joined: Sun Oct 09, 2005 10:41 PM
Re: Ocultar la ButtonBar
Posted: Sun Jul 31, 2022 01:52 AM

Antonio buenas noches,
Gracias, funciono perfecto, no requiero redimensionar ventanas, en ON INIT (oWndA:Move(0,0), se posiciona solo, esto me funciona para las pantallas peque帽as, gano un espacio de 茅sta manera.
todo quedo ok....
GRacias Antonio y a CmSoft

Continue the discussion