Ocultar la ButtonBar

Ocultar la ButtonBar

Postby Willi Quintana » Tue Jul 19, 2022 3: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: Select all  Expand view  RUN

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"

..
..
..
.


 
User avatar
Willi Quintana
 
Posts: 1020
Joined: Sun Oct 09, 2005 10:41 pm
Location: Cusco - Perú

Re: Ocultar la ButtonBar

Postby Antonio Linares » Tue Jul 19, 2022 3:22 pm

Estimado Willy,

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

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

Re: Ocultar la ButtonBar

Postby Willi Quintana » Tue Jul 19, 2022 4:25 pm

GRacias por contestar Antnio,
pero el area desocupara sigue poder ser utilizada...
User avatar
Willi Quintana
 
Posts: 1020
Joined: Sun Oct 09, 2005 10:41 pm
Location: Cusco - Perú

Re: Ocultar la ButtonBar

Postby Antonio Linares » Tue Jul 19, 2022 6:35 pm

Prueba con oWnd:oWndClient:Resize()
regards, saludos

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

Re: Ocultar la ButtonBar

Postby Willi Quintana » Thu Jul 21, 2022 11:31 pm

GRacias Antonio,
Tampoco funciona...
:roll:
User avatar
Willi Quintana
 
Posts: 1020
Joined: Sun Oct 09, 2005 10:41 pm
Location: Cusco - Perú

Re: Ocultar la ButtonBar

Postby Antonio Linares » Fri Jul 22, 2022 4:28 am

Faltaria hacer oWnd:oTop := nil además de oWnd:oBar := nil
regards, saludos

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

Re: Ocultar la ButtonBar

Postby Willi Quintana » Sat Jul 23, 2022 3:09 pm

Gracias Antonio, sigue lo mismo,,,,
User avatar
Willi Quintana
 
Posts: 1020
Joined: Sun Oct 09, 2005 10:41 pm
Location: Cusco - Perú

Re: Ocultar la ButtonBar

Postby Antonio Linares » Sat Jul 23, 2022 3:26 pm

Querido Willy,

Probado y funcionando bien:
Code: Select all  Expand view  RUN
#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
User avatar
Antonio Linares
Site Admin
 
Posts: 42111
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Ocultar la ButtonBar

Postby Willi Quintana » Wed Jul 27, 2022 8: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: Select all  Expand view  RUN

oBar:GoTop(), oBar:Show(), oBar:Refresh(),( oWnd:bResized:={|| oSalir:Move(2,oWnd:nWidth()-110)} ), oWNd:Refresh()
 
User avatar
Willi Quintana
 
Posts: 1020
Joined: Sun Oct 09, 2005 10:41 pm
Location: Cusco - Perú

Re: Ocultar la ButtonBar

Postby cmsoft » 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: Select all  Expand view  RUN

#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
 
User avatar
cmsoft
 
Posts: 1291
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: Ocultar la ButtonBar

Postby Antonio Linares » Thu Jul 28, 2022 3:11 pm

Esta versión no parpadea, tan solo le falta que al ocultar la barra de botones, las ventanas hijas se redimensionasen:
Code: Select all  Expand view  RUN

#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
User avatar
Antonio Linares
Site Admin
 
Posts: 42111
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Ocultar la ButtonBar

Postby Willi Quintana » Sun Jul 31, 2022 1: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
User avatar
Willi Quintana
 
Posts: 1020
Joined: Sun Oct 09, 2005 10:41 pm
Location: Cusco - Perú


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 37 guests