基于MFC控件STATIC显示图片数据

2014-11-19 15:02:49 · 作者: · 浏览: 44

  1. 在 OnInitDialog 中加入


  GetDlgItem(IDC_MY_PIC)->ModifyStyle ( SS_TYPEMASK, SS_OWNERDRAW );


  2. 在butto 按钮中加入以下,可以显示多中类型的图片资源


  void CDlgpicDlg::OnTest()


  {


  // TODO: Add your command handler code here


  CFileDialog fileDlg(TRUE,NULL,NULL,


  OFN_ALLOWMULTISELECT,


  _T("Picture Files (*.bmp *.ico *.jpg)|*bmp;*.ico;*jpg|All Files (*.*)|*.*||"),


  AfxGetMainWnd());


  CString pathName;


  if(fileDlg.DoModal ()==IDOK)


  {


  POSITION mPos=fileDlg.GetStartPosition();


  while(mPos!=NULL)


  {


  pathName=fileDlg.GetNextPathName(mPos);


  if(m_pict.LoadPicture(pathName.GetBuffer(pathName.GetLength())))


  {


  // 防止有透明图片,消除已有的图片信息


  CPaintDC dc(this); // device context for painting


  CRect rc;


  GetDlgItem(IDC_MY_PIC)->GetWindowRect(&rc);


  dc.FillSolidRect(rc, RGB(0, 0, 0));


  Invalidate();


  }


  }


  }


  }