or just hide the mouse and replace the pointer with one of your own, then make a sprite for the icon, and just use sprite hit to check for collision eg:
if sprite hit(1,2)=1 and mouseclick()=1 then do_function
checks for a pointer (sprite 1) hitting an icon (sprite 2) at the same time that a button is clicked, if both conditions are true then you can call a function to perform whatever operation should be performed by clicking the mouse, if you use a windows like arrow and dont want to have the icon selected by the tail (ie, when the tip of the arrow is off the icon) then make the arrow in two parts, a dot for the tip and another sprite for the body, or you can draw the icon in two parts and just use the lower right hand one for selection.
Mentor.
PC1: P4 hyperthreading 3ghz, 1gig mem, 2x160gig hd`s, Nvidia FX5900 gfx, 6 way surround sound, PC2: AMD 1.2ghz, 512mb ram, FX5200 ultra gfx, stereo 16 bit soundblaster.