当前位置导航:炫浪网>>网络学院>>编程开发>>C++教程>>Visual C++教程

给自己的vc的button添加上图标

    在C#.net中确实是一件很容易的和事情,可是我还不知道如何在VC中实现呢!
    在MFC中,倒是比较好实现
    方案1:
    宣称一个成员变量
      CBitmapButton   cbBtn1;

      两种方法使用
      1。cbBtn1.AutoLoad(xxx,xxx,xxx,xxx);


      2.   cbBtn1.SubclassDlgItem(IDC_BUTTON_1,this);
            cbBtn1.LoadBitmaps(BUTTON_LED17_UP,BUTTON_LED17_DOWN,NULL,NULL);
            cbBtn1.SizeToContent();

    方案2:
    一个例子
     首先,我们创建一个基于对话框的应用程序CmyDialog   ;
      Ι.MFC的CBitmapButton类,这也是最简单的功能最强的位图按钮。我们可以采取如下的步骤:
      1.为按钮指定唯一的按钮标题(此例子为OK按钮,这里设置按钮标题为OK)并选中Ownerdraw属性,然后在项目中加一些位图资源,并用名字标示这些资源而不要用数字ID,其ID分别为”OKU”、”OKD”、”OKF”、”OKX”(一定要加双引号),分别对应于按钮的“松开(Up)”、“按下 (Down)”、“获得输入焦点(focused)”和“禁止(Disable)”状态。
      2. 我们还要在对话框类中加入CBitmapButton   m_aBmpBtn;数据成员。
      3. 在初始化中为这个成员调用:
                                  …
      m_aBmpBtn.   AutoLoad(IDOK,this);
      …
      点击编译按钮,成功后运行程序,哈哈,看看效果,我们的位图按钮已经建立了。
      /*如果以上方法不行请检查你的BITMAP   资源,APPSTUDIO中,"OKU"和   "OKD"   等的资源名称都是需要用引号引起来的,   AutoLoad不成功,很可能就是由此产生的。     */
      改变CANCLE按钮的标题,可以设置其标题为ICON或者BITMAP   :(这里我们演示了bitmap的用法,Icon按钮读者可以按照下面的代码处理)
      Ⅱ.使用图标制作按钮
      1. 打开ICON按钮的属性页,在Style中选中Icon   。
      2. 在对话框类的头文件中定义成员变量(使用ClassWizard加入这个成员变量)
      CButton   m_   IconBtn;//对应于图标按钮
      3. 创建相应的图标或者位图资源:
      图标资源:IDI_ICONBUTTON
      4.在初始化中加入如下代码:
      …
      //对应于图标按钮
      HICON   hIcon=AfxGetApp()->LoadIcon(IDI_   ICONBUTTON);
      m_IconBtn.SetIcon(hIcon);
      …
      重新编译运行我们的程序,奇妙的图像按钮呈现在我们的眼前了。
      Ⅲ.使用位图制作按钮
      1. 打开BITMAP按钮的属性页,在Style中选中Bitmap。
      2. 对话框类的头文件中定义成员变量(使用ClassWizard加入这个成员变量)
                                  CButton   m_IconBtn;
      3.创建位图资源:
      位图资源:IDB_BITMAPBUTTON
      4.在初始化中加入如下代码:
      //对应于位图按钮
      …
      HBITMAP   hBmp=::LoadBitmap(AfxGetInstanceHandle(),
      MAKEINTRESOURCE(IDB_   BITMAPBUTTON));
      m_BmpBtn.SetBitmap(hBmp);

相关内容
赞助商链接