今天做图片显示的时候,代码都没有错误,发现
OnPaint() 函数和DrawUserPhoto(int x, int y, CDC *pDC) 这两个方法没有被调用,所以图片没有显示
接着找为什么这两个函数没有被调用,
第一找:DoDataExchange(CDataExchange* pDX)中有没有绑定这个图片控件,
DDX_Control(pDX, IDC_FOOD_PIC, m_btnSelPhoto);发现有的,
第二找:在 消息声明 BEGIN_MESSAGE_MAP(CMenuDlg, CDialogEx) 里面有没有调用
ON_WM_PAINT() //这句话很重要,没有这句话就不会显示图片
加上ON_WM_PAINT() 之后图片就显示了。
本文介绍了在MFC框架下解决图片无法正常显示的问题过程。通过检查控件绑定和消息映射,最终确认缺少ON_WM_PAINT()导致OnPaint()未被调用。加入此消息处理后,成功实现了图片的显示。
595

被折叠的 条评论
为什么被折叠?



