Позвольте мне начать с того, что я новичок в C ++ и MFC.
Последние несколько дней я пытался отобразить значок 16x16 в своей клиентской области, хотя он отображает правильное изображение. , значок всегда масштабируется до 32x32 и выглядит искаженным. Я искал и пробовал разные способы LoadIcon, LoadImage, но, похоже, ничего не работает.
Вот пример LoadImage:
m_icon1 = (HICON)::LoadImage(AfxGetApp()->m_hInstance, MAKEINTRESOURCE(IDI_ICON1), IMAGE_ICON, 16, 16, 0);
int xIcon = GetSystemMetrics(SM_CXSMSIZE);
int yIcon = GetSystemMetrics(SM_CYSMSIZE);
CRect rect;
GetClientRect(&rect);
int xx = (rect.Width() - xIcon + 1) / 2;
int yy = (rect.Height() - yIcon + 1) / 2;
dc.DrawIcon(xx, yy, m_icon1 );
IconInfo:
Вот окно, левый значок 32x32, а правый 16x16, как вы можете видеть, они имеют одинаковый размер. Я ставлю разные цвета для каждого размера, просто чтобы быть уверенным.
Я что-то не так делаю?
Заранее спасибо.