1. Setting a button image - Help Please

Hi all,
I am using WIN32LIB and I would like to know if it is possible to 
set/change a buttons image after it has been created.
In WIN32Help I found the following but do not understand how to use it.

-- Cut WIN32Help

BM_SETIMAGE
wParam = 0;                         // not used, must be zero
lParam = (LPARAM) (HANDLE) hImage;  // handle of the image


An application sends a BM_SETIMAGE message to associate a new image (icon 
or bitmap) with the button.

Parameters

hImage

Value of lParam. Identifies the image to associate with the button.

Return Value

The return value is the handle of the image previously associated with the 
button, if any; otherwise, it is NULL.

Regards
Tony Steward


Come Visit Me At www.locksdownunder.com

Give your hardest tasks to the laziest workers,
as they will find the easiest way to complete it.

new topic     » topic index » view message » categorize

2. Re: Setting a button image - Help Please

Doing what you say is quite tricky.
What you can do as a better alternative is simple.

Instead of creating a PushButton, create a bitmap!
When it's clicked, you will know, and you can even
change it's image to a 'down state' or something.

Mike The Spike

--- Tony Steward <figjam at nlc.net.au> wrote:
> > 
> Hi all,
> I am using WIN32LIB and I would like to know if it
> is possible to 
> set/change a buttons image after it has been
> created.
> In WIN32Help I found the following but do not
> understand how to use it.
> 
> -- Cut WIN32Help
> 
> BM_SETIMAGE
> wParam = 0;                         // not used,
> must be zero
> lParam = (LPARAM) (HANDLE) hImage;  // handle of the
> image
> 
> 
> An application sends a BM_SETIMAGE message to
> associate a new image (icon 
> or bitmap) with the button.
> 
> Parameters
> 
> hImage
> 
> Value of lParam. Identifies the image to associate
> with the button.
> 
> Return Value
> 
> The return value is the handle of the image
> previously associated with the 
> button, if any; otherwise, it is NULL.
> 
> Regards
> Tony Steward
> 
> 
> Come Visit Me At www.locksdownunder.com
> 
> Give your hardest tasks to the laziest workers,
> as they will find the easiest way to complete it.
> 
>
> > 
> >
> > 
> 
> 


>

new topic     » goto parent     » topic index » view message » categorize

3. Re: Setting a button image - Help Please

Win32lib already supports most of this.
Here is a reworking of Brian's code...

 -----------------
 -- bmp_btn.exw --
 -----------------
 include win32lib.ew

 -----------------------

 atom hBmp1, hBmp2, btn_state
    hBmp1 = loadBitmapFromFile( "btn1.bmp" )
    hBmp2 = loadBitmapFromFile( "btn2.bmp" )
    btn_state = hBmp1

 constant
    Win = create( Window, "Simple Window", 0, Default, Default, 200, 200,
 0 ),
    Btn = create( PictureButton, "", Win, 20, 20, 40, 40, hBmp1 )

   ------------------------------

 procedure onClick_Btn()
    atom result

    if btn_state = hBmp1 then
       btn_state = hBmp2
    else
       btn_state = hBmp1
    end if
    result = sendMessage( Btn, BM_SETIMAGE, IMAGE_BITMAP, btn_state )
 end procedure
 onClick[Btn] = routine_id( "onClick_Btn" )

 ------------------------------
 WinMain( Win, Normal )
 ------------------------------


I'll add the this ability in an enhancement to the library. Maybe something
along the lines of ...

    Btn = create( PictureButton, "", Win, 20, 20, 40, 40,
{"btn1.bmp","btn2.bmp"} )

and have it do the up-down image swapping.

> Tony Steward wrote:
> > Hi all,
> > I am using WIN32LIB and I would like to know if it is possible to
> > set/change a buttons image after it has been created.
> > In WIN32Help I found the following but do not understand how to use it.
> >
> > -- Cut WIN32Help
> >
> > BM_SETIMAGE
> > wParam = 0;                         // not used, must be zero
> > lParam = (LPARAM) (HANDLE) hImage;  // handle of the image
> >
> >
> > An application sends a BM_SETIMAGE message to associate a new image
> > (icon
> > or bitmap) with the button.
> >
> > Parameters
> >
> > hImage
> >
> > Value of lParam. Identifies the image to associate with the button.
> >
> > Return Value
> >
> > The return value is the handle of the image previously associated with
> > the
> > button, if any; otherwise, it is NULL.
> >
> > Regards
> > Tony Steward
> >
> >
> > Come Visit Me At www.locksdownunder.com
> >
> > Give your hardest tasks to the laziest workers,
> > as they will find the easiest way to complete it.
> >
> >
> >
>
>
>
>

new topic     » goto parent     » topic index » view message » categorize

4. Re: Setting a button image - Help Please

>
> Hi all,
> I am using WIN32LIB and I would like to know if it is possible to
> set/change a buttons image after it has been created.
> In WIN32Help I found the following but do not understand how to use it.
>
> -- Cut WIN32Help
>
> BM_SETIMAGE
> wParam = 0;                         // not used, must be zero
> lParam = (LPARAM) (HANDLE) hImage;  // handle of the image
>
>
> An application sends a BM_SETIMAGE message to associate a new image (icon
> or bitmap) with the button.
>
> Parameters
>
> hImage
>
> Value of lParam. Identifies the image to associate with the button.
>
> Return Value
>
> The return value is the handle of the image previously associated with the
> button, if any; otherwise, it is NULL.
>
> Regards
> Tony Steward

Hi, Tony

use this code :
sendMessange(control_id, BM_SETIMAGE, 0, handle)

where handle can be for example

atom handle

-- load the bitmap
handle= loadBitmapFromFile( "graphic.bmp" )

Regards,
    Martin

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu