zoukankan      html  css  js  c++  java
  • MFC的CBitmapButton的使用指南

    注意:此按钮使用前应该将按钮的属性:Owner Draw->True

    注意:此按钮使用前应该将按钮的属性:Owner Draw->True

    注意:此按钮使用前应该将按钮的属性:Owner Draw->True

    一、语法

    class CBitmapButton : public CButton
    

    二、函数

    “属性” 描述
    CBitmapButton::AutoLoad 将对话框中的按钮与 类的对象关联,按 (加载) 位图,并调整按钮大小以适应 CBitmapButton 位图。
    CBitmapButton::LoadBitmaps 通过从应用程序的资源文件加载一个或多个命名位图资源并将位图附加到对象来初始化 对象。
    CBitmapButton::SizeToContent 调整按钮的大小以容纳位图。

    1、函数:LoadBitmaps

    BOOL CBitmapButton::LoadBitmaps(UINT nIDBitmapResource,
    	UINT nIDBitmapResourceSel, UINT nIDBitmapResourceFocus,
    	UINT nIDBitmapResourceDisabled)
    

    函数接受四个参数,也就是位图资源的ID,分别对应如下四个状态 :

    • 常规状态
    • 按下状态
    • 焦点状态
    • 禁用状态

    当按钮处于不同状态就会自动切换到对应的图标显示。

    2、函数:SizeToContent

    调用此函数,将位图按钮的大小调整为位图的大小。

    三、使用方法

    具体的使用方法如下:

    // 在头文件中 声明一个CBitmapButton对象
    CBitmapButton m_BitmapBtn;
    
    // 在初始化函数中初始化对象
    m_BitmapBtn.LoadBitmaps(IDB_START_BITMAP);  // bitmapID
    m_BitmapBtn.SubclassDlgItem(IDC_BUTTON1, this);// 按钮ID
    m_BitmapBtn.SizeToContent();
    

    如上为基本用法,也可以在按钮的点击函数中动态修改图片,如下:

    void CSplashDlg::OnBnClickedButton1()
    {
    	// TODO: 在此添加控件通知处理程序代码
    	if (true)
    	{
    		m_BitmapBtn.LoadBitmaps(XXXXXXXXXXX);
    		m_BitmapBtn.Invalidate();
    	}
    	else
    	{
    		m_BitmapBtn.LoadBitmaps(YYYYYYYYYYY);
    		m_BitmapBtn.Invalidate();
    	}
    }
    

    PS:调用Invalidate是为了让图像刷新。

  • 相关阅读:
    c_水程序
    Arlenmbx!!!!
    java
    c语言随机函数&&时间函数
    2016省赛总结
    666
    【UOJ#389】【UNR#3】白鸽(欧拉回路,费用流)
    【洛谷P3756】[CQOI2017]老C的方块(最小割)
    CF704D Captain America(上下界网络流)
    AtCoder Regular Contest 097
  • 原文地址:https://www.cnblogs.com/Abraverman/p/15223564.html
Copyright © 2011-2022 走看看