在对话框上用picture控件显示图片。运行后打开图片,能够显示,已经添加onpaint()响应。最大化,最小化,滑动滚动条,都能显示图片。进行某一操作,比如放大,旋转后也能显示操作后图片,但是只要拖动滚动条或是最大化最小化,图片消失,picture控件上一片空白,不知道怎么回事...
解决方案 »
- 我创建了个基于CButton的SButton类,让它动态的创建了几个按钮,在SButton类的内部怎么得到Button类按钮的坐标?
- 读取CPU的ID的方法
- 哪位好人有关于GDI编程的电子书?
- 在visual c++中如何使用水晶报表?
- 求救,串口通讯的问题,急!
- 如何得到Tree Control控件中复选框选中的值?
- editbox中的密码是怎样显示的?
- 内存位图大小优化问题
- VC程序怎样调用远程.net Remoting编写的服务程序。(VC运行的环境没有.net framework)
- 送分的问题(不要笑话俺)
- 如何通过LCID得到国家名称的字符串
- VC DataGrid SetRefDataSource时出错了。
{
在这里进行图片重绘。。就行了,因为窗口刷新,图片没有重绘。。
}
到底最大化,最小化,滑动滚动条能不能显示??
贴OnPaint代码。
{
// CPaintDC dc(this); // device context for painting
// TODO: Add your message handler code here
// Do not call CDialog::OnPaint() for painting messages
if (IsIconic())
{ CPaintDC dc(this); // device context for painting 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
{
CDialog::OnPaint(); // CRect rect1;
CWnd *pWnd1 = GetDlgItem(IDC_JIAN_CAI);
pWnd1->GetClientRect(&rect1);
CPaintDC dc1(pWnd1);
dc1.Rectangle(rect1.left, rect1.top, rect1.right, rect1.bottom);
dc1.SelectStockObject(WHITE_PEN);
dc1.SelectStockObject(WHITE_BRUSH);
if(!SCanvusLeft.IsNull())
{
CDC *pOrigDC= CDC::FromHandle(SCanvusLeft.GetDC());
dc1.BitBlt(offsetx,offsety, rect1.Width(), rect1.Height(),pOrigDC,sourcex, sourcey,SRCCOPY);
SCanvusLeft.ReleaseDC();
}