MSDN SetBitmap 不起作用,CButton 显示为空白
MSDN SetBitmap doesn't work, CButton shows up blank
我试图创建一个按钮,使用CButton::SetBitmap()
从资源中获取bmp图像。使用以下代码:
BOOL MyDialog::OnInitDialog()
{
__super::OnInitDialog();
m_myBitmap=::LoadBitmap(AfxGetResourceHandle(),MAKEINTRESOURCE(IDC_MY_BITMAP ));
m_myButton.SetBitmap( m_myBitmap );
return TRUE;
}
但是按钮显示为灰色,上面没有图像。我验证了我的位图是否正确加载了GDIPlus,并将其保存为jpeg格式,一切似乎都很好。为什么按钮上没有显示图像?
我找到了。您需要在CButton上设置BS_BITMAP
标志,否则什么都不会发生。此外,似乎有两个函数允许您修改按钮样式:
CButton::ModifyStyle();
CButton::SetButtonStyle();
和一些模糊的原因CButton::SetButtonStyle();
没有正确地为我设置标志,因此混乱。
在正确加载资源的情况下:
BOOL MyDialog::OnInitDialog()
{
__super::OnInitDialog();
m_myBitmap=::LoadBitmap(AfxGetResourceHandle(),MAKEINTRESOURCE(IDC_MY_BITMAP ));
m_myButton.ModifyStyle( 0, BS_BITMAP );
m_myButton.SetBitmap( m_myBitmap );
return TRUE;
}
相关文章:
- 比较并显示使用最小值(a,b)和最大值(a、b)升序排列的4个数字
- C++,OpenCV,尝试显示图像时"OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)"此错误
- 字符串-C++后显示的随机字符
- 继承期间显示未知行为的子类
- 仅使用绝对值对数组进行排序,并在C++中显示实际值
- 无法通过空白将文本文件行分隔为矢量
- Gtkmm 窗口为空白,不显示任何小部件或标题
- OpenGL显示空白的白屏
- 我的QT程序显示带有标题的空白窗口
- QT子类UI表单显示一个空白窗口
- 将QT QML应用程序部署到Windows上显示了一个空白窗口
- OpenGL显示空白屏幕.可能是因为着色器
- GLUT显示空白窗口
- 使用 gdal 和 qt 打开相同的 tif 两次显示空白
- TMXTiledMap显示空白屏幕
- 从boost::p roperty_tree读取数组显示为空白
- 显示空白控制台的 IDE
- Qt 5(Qt Quick)菜单项大部分时间显示为空白
- MSDN SetBitmap 不起作用,CButton 显示为空白
- QT OpenGL, glDrawElements和glDrawArray只显示空白屏幕