+ -
当前位置:首页 → 问答吧 → 基础类应用程序,一运行就停止。编译没有问题。

基础类应用程序,一运行就停止。编译没有问题。

时间:2011-12-21

来源:互联网

你好啊,我的这个程序目的是实现点击文件打开按钮,在对话框控件上显示一幅位图,可是编译没有问题,运行就停止。找不出原因啊。请你帮忙看一下好嘛?
void CTESTDlg::OnButton1() 
{
// TODO: Add your control notification handler code here
CFileDialog m_dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT|OFN_ALLOWMULTISELECT,"BMP图像|*bmp;*.bmp||",this);
if (m_dlg.DoModal()==IDOK)
{
m_FileName =m_dlg.GetPathName();  
m_hBmp=(HBITMAP)::LoadImage(::AfxGetResourceHandle(),m_FileName,IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
if (m_hBmp)
{

CBitmap *pBmp=NULL;  
  // BITMAP m_Bitmap;
pBmp->Attach(m_hBmp);
CDC *pDC = m_image.GetDC();
// m_Fram.SetBitmap(m_hBmp);

CDC memdc;
  memdc.CreateCompatibleDC(pDC);
  CBitmap *pOldBitmap=(CBitmap*)memdc.SelectObject(pBmp);
  long wide, high;
   
BITMAP bmp;
  pBmp->GetBitmap(&bmp);
  wide = bmp.bmWidth;
  high = bmp.bmHeight;

CRect bmpRC;
m_image.GetWindowRect(&bmpRC);

  pDC->StretchBlt(bmpRC.left,bmpRC.top,bmpRC.Width(),
bmpRC.Height(),&memdc,0,0,wide,high,SRCCOPY); 
memdc.SelectObject(&pOldBitmap);

}
else
{
MessageBox("获得文件句柄失败");
}

作者: qq274083669   发布时间: 2011-12-21

debug下?

作者: hcj2002   发布时间: 2011-12-21

是程序一启动就卡住还是点击了按钮后卡住? 打下断点多跟踪下。你问题实在描述得不清楚。呵呵呵

作者: yao_329   发布时间: 2011-12-21

热门下载

更多