Bug message bar com 2007

Bug message bar com 2007

Postby MGA » Mon Jan 04, 2010 4:23 pm

Sr. Antonio,

Ao redimensionar a window principal, a message bar apresenta um BUG.

set message of ownd to "Bom trabalho..." clock date keyboard font ofontem noinset 2007

Veja:
Image
ubiratanmga@gmail.com

FWH18.02
FWPPC
Harbour/xHarbour
xMate
Pelles´C
TDolphin
MGA
 
Posts: 1234
Joined: Mon Feb 25, 2008 2:54 pm
Location: Brasil/PR/Maringá

Re: Bug message bar com 2007

Postby MGA » Wed Jan 06, 2010 7:19 pm

?
ubiratanmga@gmail.com

FWH18.02
FWPPC
Harbour/xHarbour
xMate
Pelles´C
TDolphin
MGA
 
Posts: 1234
Joined: Mon Feb 25, 2008 2:54 pm
Location: Brasil/PR/Maringá

Re: Bug message bar com 2007

Postby Antonio Linares » Mon Jan 25, 2010 11:12 am

SGS,

Puedes proporcionar un ejemplo, en PRG, que reproduzca el error ? gracias
regards, saludos

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

Re: Bug message bar com 2007

Postby MGA » Mon Jan 25, 2010 12:43 pm

Sr. Antonio:

fwh/samples/test2007.prg

Basta redimensionar a window principal de modo que a mensagem estoure o tamanho da set message...
ubiratanmga@gmail.com

FWH18.02
FWPPC
Harbour/xHarbour
xMate
Pelles´C
TDolphin
MGA
 
Posts: 1234
Joined: Mon Feb 25, 2008 2:54 pm
Location: Brasil/PR/Maringá

Re: Bug message bar com 2007

Postby MGA » Tue Mar 09, 2010 5:34 pm

Sr. Antonio,

Alguma novidade sobre este bug? ou poderia me dizer em que PRG (source) devo procurar o problema!

Obrigado
ubiratanmga@gmail.com

FWH18.02
FWPPC
Harbour/xHarbour
xMate
Pelles´C
TDolphin
MGA
 
Posts: 1234
Joined: Mon Feb 25, 2008 2:54 pm
Location: Brasil/PR/Maringá

Re: Bug message bar com 2007

Postby anserkk » Wed Mar 10, 2010 4:58 am

The problem is true.

Sample used : \Fwh\Samples\Test2007.prg

Screen snapshot of the window
Image

Screen snapshot of the window after resizing. The MsgBar MsgItems are overlapped
Image

Regards
Anser
User avatar
anserkk
 
Posts: 1329
Joined: Fri Jun 13, 2008 11:04 am
Location: Kochi, India

Re: Bug message bar com 2007

Postby Antonio Linares » Wed Mar 10, 2010 8:18 am

Deberíamos decidir que items deben verse en esa situación: los de más a la derecha o solo el de la izquierda ?

We should decide what items to show on such situation: the rightmost ones or just the leftmost one ?
regards, saludos

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

Re: Bug message bar com 2007

Postby MGA » Wed Mar 10, 2010 11:07 am

Sr. Antonio,

clausula->2007 Deveria funcionar igual a barra default (sem 2007).

set message of ownd to "Bom trabalho..." clock date keyboard font ofontem noinset 2007 <----BUG

set message of ownd to "Bom trabalho..." clock date keyboard font ofontem noinset <----OK
ubiratanmga@gmail.com

FWH18.02
FWPPC
Harbour/xHarbour
xMate
Pelles´C
TDolphin
MGA
 
Posts: 1234
Joined: Mon Feb 25, 2008 2:54 pm
Location: Brasil/PR/Maringá

Re: Bug message bar com 2007

Postby MGA » Sat Mar 13, 2010 11:01 am

Sr. Antonio,

Alguma novidade?
ubiratanmga@gmail.com

FWH18.02
FWPPC
Harbour/xHarbour
xMate
Pelles´C
TDolphin
MGA
 
Posts: 1234
Joined: Mon Feb 25, 2008 2:54 pm
Location: Brasil/PR/Maringá

Re: Bug message bar com 2007

Postby Daniel Garcia-Gil » Mon Mar 15, 2010 5:05 am

SGS.

Problema resuelto...

hay que hacer cambios en TmsgBar (msgbar.prg)

METHOD Destroy()
Busca

Code: Select all  Expand view

   AEval( ::aItem, { | o | if( o:hBitmap1 != nil, DeleteObject( o:hBitmap1 ), ),;
                           if( o:hBitmap2 != nil, DeleteObject( o:hBitmap2 ), ) } )
 


Reemplaza:
Code: Select all  Expand view

   AEval( ::aItem, { | o | if( o:hBitmap1 != nil, DeleteObject( o:hBitmap1 ), ),;
                           if( o:hBitmap2 != nil, DeleteObject( o:hBitmap2 ), ),;
                           if( o:hBack != nil, DeleteObject( o:hBack ), ) } )
 


METHOD Pain()
Busca:
Code: Select all  Expand view

::Say( ::nHeight / 4 - 2,;
             If( ::lCentered, ( ::nWidth / 2 ) - ( GetTextWidth( ::hDC,;
             If( Empty( ::cMsg ), ::cMsgDef, ::cMsg ),;
             ::nClrText,,, .T., .T. )
 


Reemplaza:
Code: Select all  Expand view

::Say( ::nHeight / 4 - 2,;
             If( ::lCentered, ( ( ( If( Len( ::aItem ) > 0, ::aItem[ 1 ]:nLeft(), ::nWidth ) ) ) / 2 ) - ( GetTextWidth( ::hDC,;
             If( Empty( ::cMsg ), ::cMsgDef, ::cMsg ),;
             ::oWnd:oFont:hFont ) / 2 ), 4 ),;
              If( Empty( ::cMsg ), ::cMsgDef, ::cMsg ),;
             ::nClrText,,, .T., .T. )
 


Terminados cambios en clase TMsgBar

Cambios en la clase TmsgItem ( tmsgitem.prg )

Crear data nueva:

Code: Select all  Expand view
DATA hBack


Reemplazar metodo paint
Code: Select all  Expand view

METHOD Paint() CLASS TMsgItem

   local nCount, nClrBack
   local nLeft := ::nLeft()
   local hBmp, nBmpWidth := 0
   local hDC := ::oMsgBar:GetDC()
   local hDCMem, hOld

   if ::oMsgBar:l2007
      ::oMsgBar:PaintBar( nLeft, ::nWidth )
      hDCMem = CreateCompatibleDC( hDC )
      If ::hBack == NIL
         ::hBack  = CreateCompatibleBitmap( hDC, ::nWidth + 4, ::oMsgBar:nHeight )
         hOld = SelectObject( hDCMem, ::hBack )
         BitBlt( hDCMem, 0, 0, ::nWidth + 4, ::oMsgBar:nHeight, hDC, ::nLeft() - 4, 0, 0xCC0020 )
         SelectObject( hDCMem, hOld )
      endif
      hOld = SelectObject( hDCMem, ::hBack )
      BitBlt( hDC, ::nLeft() - 4, 0, ::nWidth + 4, ::oMsgBar:nHeight, hDCMem, 0, 0, 0xCC0020 )
      DeleteDC( hDCMem )
   endif

   if ::hBitmap1 != nil
      hBmp = If( ::lActive, ::hBitmap1, ;
                 If( ::hBitmap2 != nil, ::hBitmap2, ::hBitmap1 ) )
      nBmpWidth  = nBmpWidth( hBmp )
      DrawMasked( hDC, hBmp, 2, nLeft + 1 )
   endif

   if ::oMsgBar:l2007
      ::oMsgBar:Say( ::oMsgBar:nHeight / 4 - 2,;
             nLeft - 1 + ( ::nWidth / 2 ) - ( GetTextWidth( hDC, AllTrim( ::cMsg ), ::oFont:hFont ) / 2 ),;
             AllTrim( ::cMsg ), If( ::lActive, ::nClrText, ::nClrDisabled ),;
             ::nClrPane, ::oFont, .T., .T. )
      WndBoxIn( hDC, 2, nLeft - 4, ::oMsgBar:nHeight - 2, nLeft - 3 )
   else
      DrawMsgItem( hDC, ::cMsg,;
                   { 5, nLeft + nBmpWidth, ::oMsgBar:nHeight - 6,;
                         nLeft + ( ::nWidth - 4 ) },;
                         If( ::lActive, ::nClrText, ::nClrDisabled ),;
                     ::nClrPane, ::oFont:hFont )

      WndBoxIn( hDC, 0, nLeft - 4, ::oMsgBar:nHeight - 1, nLeft - 3 ) // Statusbar Parts look
      if ::oMsgBar:lInset
         WndBoxIn( hDC, 3, nLeft + 1, ::oMsgBar:nHeight - 5, nLeft + ::nWidth - 4 ) // Original Depressed Look
      endif        

   endif
   

   ::oMsgBar:ReleaseDC()

return nil

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

Re: Bug message bar com 2007

Postby MGA » Mon Mar 15, 2010 1:46 pm

Daniel,

:D

Espetacular !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Meus Parabéns !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

:mrgreen:
ubiratanmga@gmail.com

FWH18.02
FWPPC
Harbour/xHarbour
xMate
Pelles´C
TDolphin
MGA
 
Posts: 1234
Joined: Mon Feb 25, 2008 2:54 pm
Location: Brasil/PR/Maringá


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 90 guests