WM_CTLCOLORSTATIC problem when using SS_ICON

I have a static control that is child window of anyother button.
button is subclassed, within subclass procedure of the button I recieve message WM_CTLCOLORSTATIC, which I process as follows:

if(message == WM_CTLCOLORSTATIC) {
SetBkMode((HDC)wParam,TRANSPARENT);
return (LRESULT)(HBRUSH)GetStockObject(HOLLOW_BRUSH);
}

Static style is
WS_CHILD | WS_VISIBLE | SS_ICON

Then an icon is set over it :
Static_SetIcon(st_hwnd,anIcon);

Now problem is
For the first time control is created it's background is transparent, and just icon is displayed, but next time when mouse rolls over the parent window (that is button), its background color turns to white.

Please take a minute out and check the attached image

If style SS_ICON is removed and just simple text is put on this static it works fine, but when an icon is used background does not remain transparent when parent window "button" is repainted.

Will be waiting for kind reply.
[1041 byte] By [Ali Imran] at [2007-11-20 11:36:18]