Re: Setting a button image - Help Please

new topic     » goto parent     » topic index » view thread      » older message » newer message

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 thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu