【发布时间】:2013-12-05 19:52:33
【问题描述】:
我正在尝试在基于对话框的应用程序中的图片控件中添加 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);
我没有收到任何错误,但是该应用程序无法运行,它不显示任何内容... 我错过了什么吗?
【问题讨论】:
-
IDC_STATIC通常分配给所有静态控件。您拨打GetDlgItem可能无法检索到正确的电话。您应该分配一个不同的 ID。您对ModifyStyle的调用中的0xF也很尴尬。您应该考虑改用符号常量。 -
此外,您必须在带引号的文字字符串中加倍反斜杠:L"C:\\1.bmp"
-
更改 ID 很有帮助,就像魅力一样。谢谢你们。
-
@AndrijaGlavas,尝试查看我的答案,如果正确,请给 +1,以便用户在真正需要时可以轻松获取这些答案