FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour centrar mensaje en statusbar
Posts: 851
Joined: Sun Nov 09, 2014 05:01 PM
centrar mensaje en statusbar
Posted: Sun Jun 23, 2024 09:12 PM
Saludos amigos,

Siempre he usado el
Code (fw): Select all Collapse
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 (fw): Select all Collapse
DEFINE STATUSBAR oStatusBar PROMPT cMensajeMenu OF _oWnd
Pero me muestra el mensaje justificado a la izquierda, como lo señalo en la imagen siguiente.



¿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.
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: centrar mensaje en statusbar
Posted: Mon Jun 24, 2024 08: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
Posts: 851
Joined: Sun Nov 09, 2014 05:01 PM
Re: centrar mensaje en statusbar
Posted: 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 (fw): Select all Collapse
// 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 (fw): Select all Collapse
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.
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: centrar mensaje en statusbar
Posted: Mon Jun 24, 2024 12:51 PM
José, asi, funciona bién!

Code (fw): Select all Collapse
   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
Posts: 851
Joined: Sun Nov 09, 2014 05:01 PM
Re: centrar mensaje en statusbar
Posted: Mon Jun 24, 2024 01:25 PM
karinha wrote:José, asi, funciona bién!

Code (fw): Select all Collapse
   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.

Continue the discussion