📄 indicbutton.cpp
字号:
// IndicButton.cpp : implementation file
//
#include "stdafx.h"
#include "EPro.h"
#include "IndicButton.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CIndicButton
CIndicButton::CIndicButton()
{
m_bUse=TRUE;
m_bEnAuto=FALSE;
}
CIndicButton::~CIndicButton()
{
}
BEGIN_MESSAGE_MAP(CIndicButton, CXTButton)
//{{AFX_MSG_MAP(CIndicButton)
ON_WM_RBUTTONUP()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CIndicButton message handlers
void CIndicButton::InitButton(CWnd* pWnd,BOOL bEnAuto,BOOL bIndicator,
UINT idStaticIco,UINT idRunIco)
{
m_bEnAuto=bEnAuto;//是否允许自动
m_bIndicator=bIndicator;//是否允许表示状态(正在进行操作和等待操作)
m_idRunIco=idRunIco;//idRunIco=0表示没图标
m_idStaticIco=idStaticIco;//同上
SetFont(pWnd->GetFont());//纠正XT的字体问题
memcpy(&xtAfxData.font, pWnd->GetFont(),sizeof(CFont));
SetXButtonStyle(BS_XT_XPFLAT| BS_RIGHT);//设置XP风格
GetWindowText(m_strOldFace);//得到文本标题
if(bEnAuto)
{
m_strAutoFace="(自动)"+m_strOldFace;//在标题前加“(自动)”
m_clrOld=GetColorFace();
}
if(bIndicator)
{
SetIndicator(FALSE);//设置等待操作时的图标
}
else if(idStaticIco!=0)
{
SetIcon(CSize(32,32),idStaticIco);
}
}
void CIndicButton::SetIndicator(BOOL bRunning)
{
m_bRunning=bRunning;
if(bRunning)//表示有操作正在进行
{
if(m_idRunIco!=0)//用图标表示相应的操作正在进行
{
SetIcon(CSize(32,32),m_idRunIco);
}
}
else
{
if(m_idStaticIco!=0)
{
SetIcon(CSize(32,32),m_idStaticIco);
}
}
}
void CIndicButton::OnRButtonUp(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
//鼠标右键点击设置自动
if(m_bEnAuto)
{
if(m_bAuto)
{
EnableAuto(FALSE);//取消自动
}
else
{
EnableAuto(TRUE);//设置自动
}
}
CXTButton::OnRButtonUp(nFlags, point);
}
void CIndicButton::EnableAuto(BOOL bAuto)
{
m_bAuto=bAuto;
if(bAuto)
{
m_bAuto=TRUE;
SetWindowText(m_strAutoFace);
SetColorFace(m_clrOld+0x000f0f0f);
}
else
{
m_bAuto=FALSE;
SetWindowText(m_strOldFace);
SetColorFace(m_clrOld);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -