VC++6.0_一个简单的图片按钮示例.docx_第1页
VC++6.0_一个简单的图片按钮示例.docx_第2页
VC++6.0_一个简单的图片按钮示例.docx_第3页
VC++6.0_一个简单的图片按钮示例.docx_第4页
VC++6.0_一个简单的图片按钮示例.docx_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

VC+6.0 一个简单的图片按钮示例VC+ 2008-11-26 17:07:37 阅读621 评论0 字号:大中小 用以下例子,说明如何在VC+6的对话框中添加一个图片按钮。先给出运行的效果截图,图A为对话框最初加载,图B为鼠标单击时的效果。图一,初加载对话框图二,鼠标左键单击的效果工程名为“TT”此工程为基于对话框的,所以新建工程时,选择MFC AppWizard(exe)-基于对话框。工程中有一个默认对话框,其ID为“IDD_TT_DIALOG”,其上有默认的“确定”“取消”按钮,在上面加一个按钮,ID就用默认的“IDC_BUTTON1”。单击“样式”选项卡,修改其属性:“所有者绘制”与“位图”前的复选框必须打勾。接下来制作两个图标,分别对应按钮的两种状态,一是初始状态,二是单击状态。从网上搜索两个图片,一般为jpg格式,先另保存为bmp,然后用PS进行处理,将图片的模式改为索引模式,颜色为256,因为超过256将不能用VC+的图片编辑器加载。将两个图片引入工程中,ID都采用默认的吧。在对话框类中添加成员变量,类型为CBitmapButton ,变量名为m_BitmapBtn,全局变量或局部变量均可。!不要这一行,删除!这个在对话框类的DoDataExchange函数中添加代码,DDX_Control( pDX, IDC_BUTTON1, m_BitmapBtn );在对话框类的初始化函数中添加代码,m_BitmapBtn.LoadBitmaps(IDB_BITMAP1,IDB_BITMAP2);编译后运行,即成功。以下给出代码片段供参考。void CTTDlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);DDX_Control( pDX, IDC_BUTTON1, m_BitmapBtn );/这句是我加的/AFX_DATA_MAP(CTTDlg)/ NOTE: the ClassWizard will add DDX and DDV calls here/AFX_DATA_MAPBOOL CTTDlg:OnInitDialog()CDialog:OnInitDialog();/ Set the icon for this dialog. The framework does this automatically/ when the applications main window is not a dialogSetIcon(m_hIcon, TRUE);/ Set big iconSetIcon(m_hIcon, FALSE);/ Set small icon/ TODO: Add extra initialization herem_BitmapBtn.LoadBitmaps(IDB_BITMAP1,IDB_BITMAP2);/这句是我加的return TRUE; / return TRUE unless you set the focus to a control注:在onInitDialog()的return之前加上m_BitmapBtn.SubclassDlgItem(IDC_BUTTON1,this);/关联到按钮m_BitmapBtn.SizeToContent();/函数使按钮适合图片大小才能实现讲的效果另外添加变量时在程序中定义一个CBitmapButton成员变量。 注意:不能使用ClassWizard为按钮映射一个CButton变量,然后改为CBitmapButton, 这么做并不能将按钮直接映射为CBitmapButton类的对象,反而会出现初始化错误CBitmapButton m_btnX1;定义变量,必须放在函数外面才能正常实现手动加入的话,应该在DoDataExchange里将手动的它与控件资源相联系起来,加入DDX_Control(pDX, IDC_BUTTON3, m_btnX); 如下所示: void CTestdlg1Dlg:DoDataExchange(CDataExchange* pDX) CDialog:DoDataExch

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论