Remove border from win32 button

Viewed 3059

I have a button which is created in the WM_CREATE function of a Win32 Application with the following code:

hChangeWorldButton = CreateWindowEx(NULL,
    "BUTTON",
    "OK",
    WS_CHILD | WS_VISIBLE | BS_FLAT | BS_BITMAP,
    2,
    2,
    25,
    25,
    hWnd,
    (HMENU)CHANGEWORLD_BUTTON,
    GetModuleHandle(NULL),
    NULL);
SendMessage(hChangeWorldButton, BM_SETIMAGE, (WPARAM)IMAGE_BITMAP, (LPARAM)worldBmp);

I would like the button to show only the image. Not the background and border.

How can I do this? I have tried many different button styles from MSDN but nothing seems to fit my needs. I was thinking of using BS_OWNERDRAW but it seems a bit overkill. Or is it the only solution?

Finally, how can I change the cursor to be a hand when it's hovering over the button?

2 Answers
Related