picture控件中显示图片后,然后把程序最小化后再恢复显示,怎么图片不显示了,请问改怎么写啊,谢谢
{
if(!m_hPhotoBitmap) return;
HBITMAP OldBitmap;
CWnd *pWnd = GetDlgItem(IDC_PICTURE);
CRect rect;
pWnd->GetClientRect(&rect);
pDC = pWnd->GetDC();
CDC MemDC;
MemDC.CreateCompatibleDC(pDC);
OldBitmap=(HBITMAP)MemDC.SelectObject(m_hPhotoBitmap);
CBitmap bitmap;
BITMAP bmp;
bitmap.Attach(m_hPhotoBitmap);
bitmap.GetBitmap(&bmp);
pDC->StretchBlt(x,y,rect.Width(),rect.Height(),&MemDC,0,0,bmp.bmWidth,bmp.bmHeight,SRCCOPY);
MemDC.SelectObject(OldBitmap);
}
void CView0::OnPaint()
{
CPaintDC dc(this); // device context for painting
if (IsIconic())
{
SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);
// Center icon in client rectangle
int cxIcon = GetSystemMetrics(SM_CXICON);
int cyIcon = GetSystemMetrics(SM_CYICON);
CRect rect;
GetClientRect(&rect);
int x = (rect.Width() - cxIcon + 1) / 2;
int y = (rect.Height() - cyIcon + 1) / 2;
// Draw the icon
//dc.DrawIcon(x, y, m_hIcon);
}
else
{
CWnd *pWnd = GetDlgItem(IDC_PICTURE);
CRect rect;
pWnd->GetClientRect(&rect);
DrawUserPhoto(rect.left,rect.top,&dc);
CView::OnPaint();
}
}
以上是图片显示代码,请问该怎么修改啊,谢谢
相关推荐
VC中GDI方法在Picture控件中显示PNG、bmp、jpg图片
默认情况下,Picture控件仅支持BMP格式,但通过扩展其功能,我们可以让它支持更多格式。要实现在Picture控件中显示PNG图片并处理半透明效果,我们需要覆盖`OnPaint()`函数。
VB Picture Box控件实现自定义工具栏
Picture Box控件(PictureBox)是VB中用于显示图像的控件,同时也是制作图形用户界面(GUI)不可或缺的一部分。开发者可以通过属性设置、事件响应等方式来控制PictureBox的功能,比如加载图片、响应鼠标操作等。在设计自定义工具栏时,用户界面(UI)设计原则是至关重要的。良好的UI设计原则包括:一致性、直接操作、反馈、简单性、可恢复性、识别而非记忆、灵活性与效率、美学与最小化设计。
工业相机SDK二次开发实战:从Demo到产品级视觉采集系统
在机器视觉与工业自动化领域,软件开发工具包(SDK)是连接硬件设备与应用软件的关键桥梁。其核心原理在于通过封装底层通信协议与硬件操作指令,为开发者提供标准化的编程接口,从而降低集成复杂度。这项技术的核心价值在于实现工业相机等专业设备的高效控制与图像数据稳定获取,广泛应用于智能制造、质量检测、机器人引导等场景。本文聚焦于工业相机SDK的二次开发实践,深入解析如何基于厂商提供的Visual C++示例程序(Demo),构建稳健的视频采集系统。文章将详细拆解环境配置、SDK集成、设备枚举、参数配置、图像回调与显示
基于OPENCV的读图片到Picture控件,自动缩放,自动重绘
**窗口最小化与图片显示**: 为了使图片在窗口最小化后仍然可见,我们需要在窗口恢复时重新绘制图片。这可以通过在窗口状态改变事件中触发重绘实现。6.
利用MFC的Picture控件显示和处理图像
MFC Picture 控件显示和处理图像MFC(Microsoft Foundation Classes)是一种基于C++的应用程序框架,为Windows平台上的应用程序开发提供了大量的类库和工具。


界面
