I wanted to get both icon and text, so I didn't set BM_ICON on my button. In WM_INITDIALOG (yes, the button is in a dialog) I say:
SendDlgItemMessage(hwndDlg, IDC_CREATE, BM_SETIMAGE, IMAGE_ICON, reinterpret_cast<LPARAM>(create_image));
It doesn't work. The button shows text only. Now, if I do set the BS_ICON style, it works, but there's no text, as documented. Just in case, create_image is instantiated as follows:
create_image = LoadImage(g_current_instance, MAKEINTRESOURCE(IDI_ICONCREATE), IMAGE_ICON, 32, 32, LR_SHARED);
So how do I make it work?