Забавная штука, получается, очень симпатично выглядит кнопка с рисунком, но стоит добавить манифест к файлу, как сразу эти кнопки отображаются обычными.
Для этой цели я написал функцию, которая загоняет в кнопку иконку:
Параметры я сделал как у функции LoadImage для удобства использования, т.е. если захотите загрузить иконку не из ресурсов, а из файла, просто ставите флажок. Кроме этого добавил код, который делает "дважды" бледной иконку для неактивной кнопки.Зачастую используется не та операционка, на которой мы создавали и лицезрели наше творение. По этой причине я добавил код, который в случае неудачи, загоняет иконку стандартным способом, что позволяет программе жить и под Вин9х.
Как использовать этот код? Очень просто - добавьте в .срр-файл этот код, где используется этот наворот. Или как я - в отдельный файл с кучей аналогичных функций, описать в файле-хедере и использовать.в апях:
Button_SetIcon(GetDlgItem(hdlg, IDC_BUTTON), GetModuleHandle(NULL), "MYICON");
// или в МФС:
Button_SetIcon(GetDlgItem(IDC_BUTTON)->m_hWnd,AfxGetResourceHandle(), MAKEINTRESOURCE(IDR_MAINFRAME) ,16,16);
Примечание:
Необходимо в начале программы вызывать InitCommonControls(), т.к. подключение манифеста, без этого вызова, приводит к абнормальному созданию окон - говоря простым языком, окно может не отобразиться на экране.
Приятной разработки программ с удобным интерфейсом.
С уважением BOBKA.