centrar mensaje en statusbar

centrar mensaje en statusbar

Postby JoseAlvarez » Sun Jun 23, 2024 9:12 pm

Saludos amigos,

Siempre he usado el

Code: Select all  Expand view
set message of _oWnd to cMensajeMenu centered color "N/W"


Para colocar mensajes en la barra de mensajes de una ventana. Tengo dias buscando como quitarle el efecto 3d pero no he podido.
Buscando en el foro me encuentro con la StatusBar, me da el efecto plano que quiero, pero no se como centrar los mensajes.
Ya revise la clase y no veo ninguna clausula que se relacione con centrar.

la coloco asi

Code: Select all  Expand view
DEFINE STATUSBAR oStatusBar PROMPT cMensajeMenu OF _oWnd


Pero me muestra el mensaje justificado a la izquierda, como lo señalo en la imagen siguiente.

Image

¿Cómo centrarlo?
"Los errores en programación, siempre están entre la silla y el teclado..."

Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin

Carora, Estado Lara, Venezuela.
User avatar
JoseAlvarez
 
Posts: 795
Joined: Sun Nov 09, 2014 5:01 pm

Re: centrar mensaje en statusbar

Postby Antonio Linares » Mon Jun 24, 2024 8:37 am

Estimado José,

Habría usar el estilo SBS_CENTERALIGN al crear el control. Para eso habría que modificar la clase TStatusBar así:

#define SBS_CENTERALIGN 0x0004

::nStyle = nOR( WS_CHILD, WS_VISIBLE, SBS_CENTERALIGN )

Pruébalo y a ver si funciona como deseas.

Probaste con ?

set message of _oWnd to cMensajeMenu centered color "N/W" FLAT
regards, saludos

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

Re: centrar mensaje en statusbar

Postby JoseAlvarez » Mon Jun 24, 2024 12:47 pm

Saludos Master Antonio,

el set message con la clausula FLAT me dio error de sintaxis:

Prg\Cuentas32.PRG(441) Error E0030 Syntax error "syntax error at 'MESSAGE'"

Respecto a la clase, la modifiqué según sus indicaciones, aunque no domino nada de clases, lo hice así,

Code: Select all  Expand view
// Win32 common controls StatusBar

#include "FiveWin.ch"

#define SB_SETTEXT     1025
#define SB_SETPARTS    1028
#define SB_GETPARTS    1030

#define WM_ERASEBKGND    20

#define TIMER_INTERVAL  400

#define SIZE_MAXIMIZED    2

#ifdef __XPP__
   #define ::Super ::TControl
#endif

#define SBS_CENTERALIGN 0x0004

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

CLASS TStatusBar FROM TControl

   DATA   cMsgDef

   DATA   oTimer
 


...
...
...

Code: Select all  Expand view
METHOD New( oWnd, cText, aWidths, aPrompts, lClock ) CLASS TStatusBar

   DEFAULT oWnd := GetWndDefault(), cText := "", lClock := .f.

   #ifdef __XPP__
      DEFAULT ::lDrag := .f.
   #endif

    ::lUnicode = FW_SetUnicode()
   ::oWnd    = oWnd
   ::nId     = ::GetNewId()
   ::nStyle  = nOR( WS_CHILD, WS_VISIBLE )
   ::cMsgDef = cText
   ::nStyle  = nOR( WS_CHILD, WS_VISIBLE, SBS_CENTERALIGN )

 


Pero el resultado es que la barra se desaparece.

¿que me esta faltando?
"Los errores en programación, siempre están entre la silla y el teclado..."

Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin

Carora, Estado Lara, Venezuela.
User avatar
JoseAlvarez
 
Posts: 795
Joined: Sun Nov 09, 2014 5:01 pm

Re: centrar mensaje en statusbar

Postby karinha » Mon Jun 24, 2024 12:51 pm

José, asi, funciona bién!


Code: Select all  Expand view

   SET MESSAGE OF oWnd TO "© Contato Sistemas: (11) 2941-6446 / 3569-6446 "  ;
      + "- contato@pleno.com.br" + " - www.pleno.com.br" FONT oFont          ;
      NOINSET CLOCK DATE KEYBOARD CENTERED COLOR CLR_HBLUE, CLR_WHITE 2007
 


Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7822
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: centrar mensaje en statusbar

Postby JoseAlvarez » Mon Jun 24, 2024 1:25 pm

karinha wrote:José, asi, funciona bién!


Code: Select all  Expand view

   SET MESSAGE OF oWnd TO "© Contato Sistemas: (11) 2941-6446 / 3569-6446 "  ;
      + "- contato@pleno.com.br" + " - http://www.pleno.com.br" FONT oFont          ;
      NOINSET CLOCK DATE KEYBOARD CENTERED COLOR CLR_HBLUE, CLR_WHITE 2007
 


Regards, saludos.


Estimado amigo y maestro Joao,

Un par de retoques, y quedo como quería, 100% plano.

Gracias amigo!!
"Los errores en programación, siempre están entre la silla y el teclado..."

Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin

Carora, Estado Lara, Venezuela.
User avatar
JoseAlvarez
 
Posts: 795
Joined: Sun Nov 09, 2014 5:01 pm


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 48 guests