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是为了让图像刷新。

  • 相关阅读:
    Linux Shell 1>/dev/null 2>&1 含义
    iSCSI存储的3种连接方式
    Linux Shell远程执行命令(命令行与脚本方式)
    VIM常用命令
    RHEL6.2配置从零开始
    shell 正则表达式与文件名匹配
    Java中判断非空对象.
    Facebook的时序数据库技术(上)
    SpringBoot+SpringCache实现两级缓存(Redis+Caffeine)
    Swagger模型字段排序问题
  • 原文地址:https://www.cnblogs.com/Abraverman/p/15223564.html
Copyright © 2011-2022 走看看