Image problem with ImageButtons

Discussion in 'Bug Reports' started by klaus, Feb 14, 2008.

  1. klaus

    klaus Expert Licensed User

    Hello Erel,
    I have a problem with images in ImageButtons.
    For the IconEdit program I am trying to merge all the images into one binary file and retrieve those in an ImageList in the program, original idea of Oran.
    But there is a problem with images in ImageButtons.
    I added some Buttons and ImageButtons in the joined ImageEmbedBuilderTest program with different tests and the problem.
    - Run the program
    - Click on Viewer
    - Load the IconEdit.img file there are 48 images in
    - Then on top you can display the different images (Item 13 Pen image)
    - If you click on Button15 it's the problem the image is not recognized

    Below the code for the different Buttons with tests
    Code:
    Sub Button15_Click    ' problem
      ImageButton3.Image=IL1.Item(13)
    End Sub

    Sub Button16_Click    ' works
      IL2.Add(AppPath&"\btnPen.bmp")  ' original bitmap file
      ImageButton3.Image=IL2.Item(0)
    End Sub

    Sub Button17_Click  ' works
      Image1.Image=IL1.Item(13)         ' assign Item(13) to an Image object
      Il2.Add(Image1.Image)                ' assigning it to imageList
      ImageButton3.Image=IL2.Item(0)
    End Sub
    It seems that there is a bitmap format problem.
    Can you please have a look at, thank you in advance.

    Klaus
    Switzerland
     

    Attached Files:

  2. alfcen

    alfcen Well-Known Member Licensed User

    Hallo Klaus,

    It works if you uncheck the Transparent property of ImageButton3.
    An image button appears to be sensitive to whether an image is
    actually loaded or just being referenced to.

    Cheers
    Robert
     
  3. Erel

    Erel Administrator Staff Member Licensed User

    As Robert mentioned there is a problem with loading an image when the transparent property is true.
    Unlike the Image control the ImageButton doesn't create a copy of the image, therefore you should manually create such a copy if you get the image from an external library or an ImageList:
    Code:
    Sub Button15_Click
        ImageButton3.Transparent = 
    false
        ImageButton3.Image=IL1.Item(
    13)
        ImageButton3.Image = ImageButton3.Image 
    'Creates a new copy.
        ImageButton3.Transparent = true
    End Sub
    These two issues will probably be solved in the next update.
     
  4. klaus

    klaus Expert Licensed User

    Hallo Robert, Hi Erel
    Thank you for your quick replies.
    I retrieve now the images in an Image object and then assign it into the ImageList.
    It works even without unchecking and check again the Transparency property.

    Best regards
    Klaus
     
Loading...