zoukankan      html  css  js  c++  java
  • WowButtons与GdiDrawStream功能

    介绍 ThemeButton是一个CButton派生类。它是一个非常简单的图形按钮,有特殊的位图表示五种按钮状态:正常、热、按下、禁用和默认。按钮是绘制的窗口,它的主题可改变的按钮。每个主题位图有一个背景色,它是透明的。 对于绘制按钮,我使用的功能GdiDrawStream;这是私人活动。我将解释这个函数如何工作以及它有什么类型的参数。该函数中使用的主要内容是GdiDrawStreamStruct结构。我认为这个函数有参数像:GetObject,处理设备对象,结构的大小GdiDrawStreamStruct和指针的结构。 使用的代码 ThemeButton类有一个公共函数InitControl。这个函数有Macintosh, Vista, XP和Luna Longhorn样式的默认参数。 函数的参数如下: 位图资源标识符。 位图列表方向:垂直或水平。 位图列表中每个图像的像素宽度。 位图列表中每个图像的像素高度。 位图的透明颜色。 按钮文本的字体名称。 按钮绘制风格:Mac, Vista, XP或Luna Longhorn风格。隐藏,收缩,复制Code

    BOOL CWowButtonsDlg::OnInitDialog()
    {
         CDialog::OnInitDialog();
         // Set the icon for this dialog.
         // The framework does this automatically
         //  when the application's main window is not a dialog
         SetIcon(m_hIcon, TRUE);  // Set big icon
         SetIcon(m_hIcon, FALSE); // Set small icon
    
         m_vista_but1.InitControl(IDB_VISTA_PUSHBUTTON_BMP,TRUE,21,23,RGB(0,0,0),
             _T("Tahoma"),ThemeButton::VISTA_STYLE);
         m_vista_but2.InitControl(IDB_VISTA_PUSHBUTTON_BMP,TRUE,21,23,RGB(0,0,0),
             _T("Tahoma"),ThemeButton::VISTA_STYLE);
         m_vista_but3.InitControl(IDB_VISTA_PUSHBUTTON_BMP,TRUE,21,23,RGB(0,0,0),
             _T("Tahoma"),ThemeButton::VISTA_STYLE);
         m_vista_but4.InitControl(IDB_VISTA_PUSHBUTTON_BMP,TRUE,21,23,RGB(0,0,0),
             _T("Tahoma"),ThemeButton::VISTA_STYLE);
         m_mac_but1  .InitControl(IDB_MAC_PUSHBUTTON_BMP,  
             TRUE,34,23,RGB(0,0,0),_T("Tahoma"),ThemeButton::MAC_STYLE);
         m_mac_but2  .InitControl(IDB_MAC_PUSHBUTTON_BMP,  
             TRUE,34,23,RGB(0,0,0),_T("Tahoma"),ThemeButton::MAC_STYLE);
         m_mac_but3  .InitControl(IDB_MAC_PUSHBUTTON_BMP,  
             TRUE,34,23,RGB(0,0,0),_T("Tahoma"),ThemeButton::MAC_STYLE);
         m_mac_but4  .InitControl(IDB_MAC_PUSHBUTTON_BMP,  
             
             TRUE,34,23,RGB(0,0,0),_T("Tahoma"),ThemeButton::MAC_STYLE);
         m_xp_but1   .InitControl(IDB_XP_PUSHBUTTON_BMP,    
             TRUE,20,23,RGB(0,0,0),_T("Tahoma"),ThemeButton::XP_STYLE);
         m_xp_but2   .InitControl(IDB_XP_PUSHBUTTON_BMP,   
             TRUE,20,23,RGB(0,0,0),_T("Tahoma"),ThemeButton::XP_STYLE);
         m_xp_but3   .InitControl(IDB_XP_PUSHBUTTON_BMP,   
             TRUE,20,23,RGB(0,0,0),_T("Tahoma"),ThemeButton::XP_STYLE);
         m_xp_but4   .InitControl(IDB_XP_PUSHBUTTON_BMP,    
             TRUE,20,23,RGB(0,0,0),_T("Tahoma"),ThemeButton::XP_STYLE);
         m_luna_but1 .InitControl(IDB_LONGHORN_PUSHBUTTON, 
             TRUE,28,23,RGB(0,0,0),_T("Tahoma"),ThemeButton::LUNA_LONGHORN);
         m_luna_but2 .InitControl(IDB_LONGHORN_PUSHBUTTON, 
             TRUE,28,23,RGB(0,0,0),_T("Tahoma"),ThemeButton::LUNA_LONGHORN);
         m_luna_but3 .InitControl(IDB_LONGHORN_PUSHBUTTON, 
             TRUE,28,23,RGB(0,0,0),_T("Tahoma"),ThemeButton::LUNA_LONGHORN);
         m_luna_but4 .InitControl(IDB_LONGHORN_PUSHBUTTON, 
             TRUE,28,23,RGB(0,0,0),_T("Tahoma"),ThemeButton::LUNA_LONGHORN);
    
         return TRUE;  // return TRUE  unless you set the focus to a control
    }

    更新(3.7.2006) 现在,使用LR_CREATEDIBSECTION标志调用函数LoadImage。 更新(7.3.2007) 我将类的名称改为ThameButton。创建新的头文件GdiDrawStream.h用于绘制函数,标志&结构声明。我添加XP和Luna Longhorn风格的按钮。 本文转载于:http://www.diyabc.com/frontweb/news441.html

  • 相关阅读:
    全局上下文(GO)
    重写数组拓展方法
    spring + spring mvc 使用 maven 编译出现异常
    shiro 配置注解后无权访问不进行页面跳转异常:org.apache.shiro.authz.UnauthorizedException: Subject does not have permission
    shiro 配置注解异常 java.lang.ClassNotFoundException: org.aspectj.util.PartialOrder$PartialComparable
    kaptcha 配置
    maven 安装 jar 包
    jsp 页面 javax.servlet.jsp.JspException cannot be resolved to a type 异常
    操作系统下载地址
    java file 常用操作
  • 原文地址:https://www.cnblogs.com/Dincat/p/13450088.html
Copyright © 2011-2022 走看看