网站大量收购闲置独家精品文档,联系QQ:2885784924

MFC中位图按钮的方法.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MFC中位图按钮的方法

2010-11-30 18:36 MFC中位图按钮的方法 ?? 曾加两个按钮所需的按下、抬起、选中和禁止状态对应的位图及其ID标识。在本文中共增加了8个位图,它们的ID标识分别为” ImageDown”、”ImageUp”、”ImageFocus”、 ”ImgaeDis”、”CancelD”、”CancelU”、”CancelF”、“CancelX“。要注意这里的ID标识都要包含双引号,从而使得 Visual C++ 不为它们生成标识符定义语句。 ??(1)利用LoadBitmaps函数绘制按钮 ????① 向CBMTestDlg类中添加成员变量: ????? protected:????? CBitmapButton button1; //定义位图按钮 ????② 在CBMTestDlg类的构造函数CBMTestDlg::CBMTestDlg中添加如下代码: ?????? //调入按钮位图资源函数 ???  if(!button1.LoadBitmaps(_T(“ImageUp, //按钮一所需位图   ?? _T(“ImageDown,_T(“ImageFocus, ?????? _T(“ImageDis”)))?? // 抬起、按下、选中和禁止  ???? { ???? TRACE(Failed to load bitmap for button1\n; ?????????????? AfxThrowResourceException();???? ?????? } ????③ 向类CBMTestDlg类的OnInitDialog成员函数中添加如下代码:    //将对话框中按钮标识与位图连接   ????????? VERIFY(button1.SubclassDlgItem(IDOK, this));    button1.SizeToContent();//使按钮大小适应位图 ???(2)利用AutoLoad函数绘制按钮 ????① 向CBMTestDlg类中添加成员变量: ?????? protected: ?????? CBitmapButton button2; //定义位图按钮 ????② 向类CBMTestDlg类的OnInitDialog成员函数中添加如下代码: ????? VERIFY(button2.AutoLoad(IDCANCEL,this)); //调入位图?xml:namespace prefix = o / /////////////////////////////////////////// 选定要使用位图的按钮(以OK按钮为例,假设其标识符为IDC_BTONOK)选其属性中的Owner draw选项,此时,在对话框编辑器中就可看到原先显示在按钮上的字符都消失了。将按钮的Caption改为OK(必须为大写)。打开Insert菜单,单击其中的Resource选项,随后选择Bitmap。再按下Import(导入)按钮,将所需位图导入项目(Project)。可以在Resource View窗口中通过右键单击刚才导入的位图,将其ID(标识符)改为OKU,注意:字符必须为大写,双引号及字母U必不可少。字母U代表的按钮为按下状态时所显示的位图。此外还可使用后缀D、F、X,分别表示按下、拥有输入焦点时、按钮处于无效状态时所显示的位图。通过对同一个按钮的不同状态使用不同的位图,很容易做出具有动态效果的按钮。   当将按钮所需使用的位图导入到项目中后,就应该在使用位图按钮的那个对话框的类声明文件中加入位图按钮变量的定义CBitmapButton m_BtonOK。同时,在适当的位置(一般是在对话框的OnInitDialog()函数中)加入如下语句:m_BtonOK.AutoLoad(IDC_BTONOK),使程序在运行时将位图装入内存并显示。 先把这个位图这个选项选上,然后在程序里加下面的代码: HBITMAP?? hBitmap; ???? hBitmap = ::LoadBitmap(::AfxGetResourceHandle(), MAKEINTRESOURCE(IDB_BITMAP_DRAW)); ???? m_btn.SetBitmap(hBitmap); 其中m_btn为按钮变量,IDB_BITMAP_DRAW为要加载的位图资源ID. ???? QQ头像的那种列表框 procedure TFrmPrint.UpdateImageList; var MyImage:TAllImage; MyLabel:TLabel; SPos,i, j:integer; NumOfDICOMFrame:integer; begin for i := scbImageList.ComponentCo

文档评论(0)

ranfand + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档