Вход на сайт
.ico и .bmp на кнопку CButton не одно и тоже?
95
11.10.07 08:06
Есть две картинки .ico и .bmp Обe по 16х16 пикселей. Если ставлю битмап на CButton то размеры подходят. Если же icon, то он не влезает. Почему так?
NEW 12.10.07 08:00
в ответ Chipolino 11.10.07 19:47
Для теста сделал Dialog-based мфц-проект. В ресурсах импортировал битмап IDB_MYBITMAP (16х16 Pix) и айкон IDI_MYICON (16х16 Pix). Затем создал 2 кнопки CButton, сделал к ним по member-variable m_btnBmp и m_btnIco. В Resource View у одной кнопки properties: Icon = true у другой Bitmap = true. После чего в OninitDialog-е вставил такой код:
HBITMAP h_Bitmap = LoadBitmap( AfxGetApp()->m_hInstance, MAKEINTRESOURCE(IDB_MYBITMAP) );
m_btnBmp.SetBitmap(h_Bitmap);
m_btnIco.SetIcon(AfxGetApp()->LoadIcon(IDI_MYICON));
После чего картинки на кнопках разного размера. Чертовщина какая-то :-)
HBITMAP h_Bitmap = LoadBitmap( AfxGetApp()->m_hInstance, MAKEINTRESOURCE(IDB_MYBITMAP) );
m_btnBmp.SetBitmap(h_Bitmap);
m_btnIco.SetIcon(AfxGetApp()->LoadIcon(IDI_MYICON));
После чего картинки на кнопках разного размера. Чертовщина какая-то :-)
NEW 12.10.07 09:15
в ответ aifl 12.10.07 08:00
Мож это?
http://www.codeguru.com/cpp/controls/buttonctrl/article.php/c2057/
http://www.codeguru.com/cpp/controls/buttonctrl/article.php/c2057/
В ответ на:
For an icon, this is done with the often overlooked ::LoadImage function. ::LoadImage adds one necessary feature which the standard CWinApp::LoadIcon does not have. When loading the image from a resource, ::LoadImage will resize the icon to any width and height dimensions that you specify. CWinApp::LoadIcon will only load an icon to the sizes specified in the system metrics, which is usually 32x32. NOTE: The "View" and "Super View" icons above come from one 32x32 icon.
For an icon, this is done with the often overlooked ::LoadImage function. ::LoadImage adds one necessary feature which the standard CWinApp::LoadIcon does not have. When loading the image from a resource, ::LoadImage will resize the icon to any width and height dimensions that you specify. CWinApp::LoadIcon will only load an icon to the sizes specified in the system metrics, which is usually 32x32. NOTE: The "View" and "Super View" icons above come from one 32x32 icon.