龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > C/C++开发 >

VC实现图片拖拽及动画的实例

时间:2014-05-18 15:24来源:网络整理 作者:网络 点击:
分享到:
这篇文章介绍了VC实现图片拖拽及动画的实例,有需要的朋友可以参考一下

基础知识
1.PictureBox控件的使用
2.加载位图文件


1.通过文件路径获得位图句柄

代码如下:

//获得位图句柄 
void CMovePictureDlg::GetHandleFromPath(CString path) 

    hBitmap= (HBITMAP)::LoadImage(AfxGetInstanceHandle(),path,IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION|LR_LOADFROMFILE);//创建位图句柄 
}

2.通过位图句柄创建位图对象并获得位图信息
代码如下:

//获取位图对象 

void CMovePictureDlg::GetBitMap(HBITMAP hBitmap) 



   m_BitMap.Attach(hBitmap);//通过位图句柄创建位图对象 

 
    //获取图像信息 

    BITMAPINFOHEADER bminfo;  

    m_BitMap.GetObject(sizeof(bminfo),&bminfo);  

 
//获取位图宽高 

    m_nBmpWidth=bminfo.biWidth; 

    m_nBmpHeight=bminfo.biHeight; 

}

实现步骤:
1.创建一个对话框工程命名为MovePicture
2.打开对话框资源拖入一个PictureBox控件,设置ID为:IDC_PICTUREBOX,设置类型为:位图
3.拖入两个静态文本控件和两个编辑框控件,静态文本控件标题分别为:输入动量系数:、输入阻力系数:,编辑框ID分别为:IDC_EDITDV、IDC_EDITF,为IDC_EDITDV关联变量为:m_editDV,为IDC_EDITF关联变量为:m_editF
4.实现代码
头文件
代码如下:

// MovePictureDlg.h : header file 
// 
#include "PictureBox.h" 

#if !defined(AFX_MOVEPICTUREDLG_H__6FFC1DDF_478C_43D6_B854_4D51E98D5E50__INCLUDED_)
#define AFX_MOVEPICTUREDLG_H__6FFC1DDF_478C_43D6_B854_4D51E98D5E50__INCLUDED_

#if _MSC_VER > 1000 
#pragma once 
#endif // _MSC_VER > 1000 

///////////////////////////////////////////////////////////////////////////// 
// CMovePictureDlg dialog 

class CMovePictureDlg : public CDialog 

// Construction 
public: 
    void GetBitMap(HBITMAP hBitmap); 
    void GetHandleFromPath(CString path); 
    void SetPicRect(int x,int y); 
    void SetSysPath(); 
    CMovePictureDlg(CWnd* pParent = NULL);  // standard constructor 

// Dialog Data 
    //{{AFX_DATA(CMovePictureDlg) 
    enum { IDD = IDD_MOVEPICTURE_DIALOG }; 
    CEdit   m_editF; 
    CEdit   m_editDV; 
    /
精彩图集

赞助商链接