Treeview with Imagelist dont show the bitmap

Post Reply
yury
Posts: 56
Joined: Wed May 23, 2007 2:01 pm

Treeview with Imagelist dont show the bitmap

Post by yury »

Hi everyone,

The code above should show the bitmap LOGOFF in prompt Level1 , ARQMIN in prompt Level2 and KEY_UP in prompt Level3...

But only show bitmap in first prompt, in the others show a blank space

Code: Select all

DEFINE WINDOW oWndx FROM 1, 1 TO 31,95 TITLE 'Test' COLOR CLR_BLACK,CLR_WHITE


DEFINE BITMAP oBMP1 RESOURCE "LOGOFF"
DEFINE BITMAP oBMP2 RESOURCE "ARQMIN"
DEFINE BITMAP oBMP3 RESOURCE "KEY_UP"


oImageList = TImageList():New()


oImageList:Add(oBmp1,oBmp1) 
oImageList:Add(oBmp2,oBmp2) 
oImageList:Add(oBmp3,oBmp3) 


oTree = TTreeView():New(0,0,oWndx,CLR_BLACK,CLR_WHITE,.F.,.F.,500,500) 


oTree:SetImageList( oImageList ) 


oAux1 = oTree:Add('Level 1',0)   
oAux2 = oAux1:Add('Level 2',1)
oAux3 = oAux2:Add('Level 3',2)


oWndx:oClient = oTree


ACTIVATE WINDOW oWndx ON INIT (oWndx:SetFocus(),oWndx:Maximize(),oTree:ExpandAll())
Thanks for any help

Regards
Yury Marcelino Al
yury030575@yahoo.com.br
vimansca@vimansca.com.br
Leme / SP - Brasil
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Yuri,

You are missing to define and use the bitmaps "masks". Here you have a working example:

test.prg

Code: Select all

#include "FiveWin.ch"

function Main()

   local oWndx, oBmp1, oBmp11, oBmp2, oBmp22, oBmp3, oBmp33, oImageList, oTree, oAux1, oAux2, oAux3

   DEFINE WINDOW oWndx FROM 1, 1 TO 31, 95 TITLE 'Test'

   DEFINE BITMAP oBMP1  FILENAME "folder.bmp" 
   DEFINE BITMAP oBMP11 FILENAME "fldMask.bmp" 
   
   DEFINE BITMAP oBMP2  FILENAME "new2.bmp" 
   DEFINE BITMAP oBMP22 FILENAME "new2mask.bmp" 

   DEFINE BITMAP oBMP3  FILENAME "icon.bmp"
   DEFINE BITMAP oBMP33 FILENAME "icomask.bmp"

   oImageList = TImageList():New() 

   oImageList:Add(oBmp1,oBmp11) 
   oImageList:Add(oBmp2,oBmp22) 
   oImageList:Add(oBmp3,oBmp33) 

   oTree = TTreeView():New(0,0,oWndx,,,.F.,.F.,500,500) 

   oTree:SetImageList( oImageList ) 

   oAux1 = oTree:Add('Level 1',0)    
   oAux2 = oAux1:Add('Level 2',1) 
   oAux3 = oAux2:Add('Level 3',2) 

   oWndx:oClient = oTree 

   ACTIVATE WINDOW oWndx ON INIT ( oWndx:Center(), oTree:ExpandAll() )

return nil
Here you have the PRG, BMPs and EXE:
http://rapidshare.com/files/142773713/yuri.zip.html

Image
regards, saludos

Antonio Linares
www.fivetechsoft.com
yury
Posts: 56
Joined: Wed May 23, 2007 2:01 pm

Post by yury »

many thanks for your suport, Mr.Antonio !

I used your example, it's ok, but I believe that found the "problem" in my code:

When the bitmap dont have the same widht and height the imagelist control dont shows in treeview...

In my tests I used the bitmap with 0.48 x 0.42 and dont work, but after I adjust the size for 0.42 x 0.42 it's works fine !

But remains a doubt: which the utility of the bmp masks ?

best regards
Yury Marcelino Al
yury030575@yahoo.com.br
vimansca@vimansca.com.br
Leme / SP - Brasil
Post Reply