xbrowse cols smaller than bmp or row lower than bmp height

Post Reply
User avatar
Otto
Posts: 4470
Joined: Fri Oct 07, 2005 7:07 pm
Contact:

xbrowse cols smaller than bmp or row lower than bmp height

Post by Otto »

Image

Image
User avatar
Otto
Posts: 4470
Joined: Fri Oct 07, 2005 7:07 pm
Contact:

Post by Otto »

Antonio, could you please have a look on this.
Thanks in advance,
Otto
Same problem:

http://fivetechsoft.com/forums/viewtopi ... ht=xbrowse

At this momoent it is already possible to browse JPG files in a xBrowse()

But it only works when there is only 1 dataline. Is it possible with xBrowse to combine bitmaps and multiple datalines.

The JPG is not displayed in the middel of the column. When I give the column the exact width it is not displayed completely.

Thanks

Willy
User avatar
Otto
Posts: 4470
Joined: Fri Oct 07, 2005 7:07 pm
Contact:

Post by Otto »

Antonio, I found the problem.

METHOD PaintData

If you have only a bmp elseif AL_LEFT is never executed.

I comment out the whole if endif and use:
nBmpCol := nCol
This way the bmp's are displayed correctly.
Regards
Otto



if ::bStrData == nil
nBmpCol := nCol + ( ( nWidth - aBitmap[ BITMAP_WIDTH ] ) / 2 ) + 2

elseif ::nDataBmpAlign == AL_LEFT
nBmpCol := nCol
nCol += aBitmap[ BITMAP_WIDTH ] + BMP_EXTRAWIDTH
else
nBmpCol := nCol + nWidth
endif
User avatar
Richard Chidiak
Posts: 946
Joined: Thu Oct 06, 2005 7:05 pm
Location: France
Contact:

Post by Richard Chidiak »

Antonio

Can you apply Otto's fix to fwh 8.03

When there is no data, bmp is badly displayed,

With Otto's fix it works OK

Thanks

Richard
http://www.cbati.com

Uestudio
Fwh 13.05 Harbour 3.2 MSVC 2013
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Richard, Otto,

We have already implemented it for 8.03. This code is placed from line 3983:

Code: Select all

   if nBmpNo > 0 .and. nBmpNo <= Len( ::aBitmaps )
      aBitmap := ::aBitmaps[ nBmpNo ]
      nWidth  -= aBitmap[ BITMAP_WIDTH ]
      if ::bStrData == nil
         nBmpCol := nCol + ( ( nWidth - aBitmap[ BITMAP_WIDTH ] ) / 2 ) + 2
      elseif ::nDataBmpAlign == AL_LEFT
         nBmpCol := nCol
         nCol    += aBitmap[ BITMAP_WIDTH ] + BMP_EXTRAWIDTH
      else
         nBmpCol := nCol + nWidth
      endif
Unless you mean another place for it, thanks!
regards, saludos

Antonio Linares
www.fivetechsoft.com
Post Reply