我正在尝试在基于对话框的应用程序中添加bmp图片。
所以基本上我在对话框中添加了图片控件,并且我已经将图片控件类型从帧更改为位图。图片控件ID是IDC_STATIC
之后我在标题中添加了这段代码:
CStatic* m_picture;
在OnInitDialog下的项目文件中,我添加了这个:
m_picture = (CStatic *)GetDlgItem(IDC_STATIC);
HITMAP hb = (HBITMAP)::LoadImage(NULL, L"C:\1.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
m_picture->ModifyStyle(0xF, SS_BITMAP, SWP_NOSIZE);
m_picture->SetBitmap(hb);
我没有收到任何错误,但该应用程序不起作用,它没有显示任何内容...... 我错过了什么吗?
答案 0 :(得分:0)
我认为你的路径不相关
// Declare CStatic Object
CStatic aDummyImageName;
//On InitFunction
BOOL YourClassName::OnInitDialog()
{
aDummyImageName= (CStatic*)GetDlgItem(ID of Your Picture Control);
HBITMAP dateImage = (HBITMAP)LoadImage(NULL, L"Path of the Image", IMAGE_BITMAP, 225, 170, LR_LOADFROMFILE);
aDummyImageName->SetBitmap(dateImage);
return TRUE;
}
试试这个,它会起作用
答案 1 :(得分:-1)
IDC_STATIC用于所有不变的内容。程序无法找到它。但是一旦你修复了你可能有我的问题,这就是Visual Studio不断修改* .rc中的图片控件不再是“静态”,然后它就不会构建。 :(