📄 wzdtoolbar.cpp
字号:
// WzdToolBar.cpp : 实现文件
//
#include "stdafx.h"
#include "WspProcess.h"
#include "WzdToolBar.h"
#define COMBOLEN 120 //length of combo box in pixels
#define COMBODROP 100 //length of combo box in pixels
// CWzdToolBar
IMPLEMENT_DYNAMIC(CWzdToolBar, CToolBar)
CWzdToolBar::CWzdToolBar()
{
m_sXSelection = _T("");
m_sYSelection = _T("");
}
CWzdToolBar::~CWzdToolBar()
{
}
BEGIN_MESSAGE_MAP(CWzdToolBar, CToolBar)
//{{AFX_MSG_MAP(CWzdToolBar)
ON_CBN_CLOSEUP(IDC_XSCALE, OnCloseupXCombo)
ON_CBN_DROPDOWN(IDC_XSCALE, OnDropdownXCombo)
ON_CBN_EDITCHANGE(IDC_XSCALE, OnEditChangeXCombo)
ON_CBN_CLOSEUP(IDC_YSCALE, OnCloseupYCombo)
ON_CBN_DROPDOWN(IDC_YSCALE, OnDropdownYCombo)
ON_CBN_EDITCHANGE(IDC_YSCALE, OnEditChangeYCombo)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
// CWzdToolBar 消息处理程序
BOOL CWzdToolBar::LoadToolBarEx(UINT id)
{
//加载工具栏信息
BOOL bRet;
bRet = CToolBar::LoadToolBar(id);
//找到X轴比例组合框的位置
int nXPos = CommandToIndex(IDC_XSCALE);
//找到Y轴比例组合框的位置
int nYPos = CommandToIndex(IDC_YSCALE);
//为坐标轴比例组合框将工具栏中的按钮转变为一个非常宽的间隔
SetButtonInfo(nXPos, IDC_XSCALE, TBBS_SEPARATOR, COMBOLEN);
SetButtonInfo(nYPos, IDC_YSCALE, TBBS_SEPARATOR, COMBOLEN);
//创建坐标轴比例组合框
CRect rect;
GetItemRect(nXPos, &rect);
rect.bottom += COMBODROP;
m_ctrlXScaleCombo.Create(WS_CHILD | WS_VISIBLE | CBS_DROPDOWN, rect, this, IDC_XSCALE);
GetItemRect(nYPos, &rect);
rect.bottom += COMBODROP;
m_ctrlYScaleCombo.Create(WS_CHILD | WS_VISIBLE | CBS_DROPDOWN, rect, this, IDC_YSCALE);
m_sXSelection = _T("1");
m_sYSelection = _T("2");
m_ctrlXScaleCombo.SetWindowText(m_sXSelection);
m_ctrlYScaleCombo.SetWindowText(m_sYSelection);
return bRet;
}
void CWzdToolBar::SetXSelection(CString str)
{
m_sXSelection = str;
m_ctrlXScaleCombo.SetWindowText(m_sXSelection);
}
void CWzdToolBar::SetYSelection(CString str)
{
m_sYSelection = str;
m_ctrlYScaleCombo.SetWindowText(m_sYSelection);
}
void CWzdToolBar::OnDropdownXCombo()
{
m_ctrlXScaleCombo.ResetContent();
m_ctrlXScaleCombo.AddString("500");
m_ctrlXScaleCombo.AddString("100");
m_ctrlXScaleCombo.AddString("50");
m_ctrlXScaleCombo.AddString("20");
m_ctrlXScaleCombo.AddString("10");
m_ctrlXScaleCombo.AddString("5");
m_ctrlXScaleCombo.AddString("2");
m_ctrlXScaleCombo.AddString("1");
m_ctrlXScaleCombo.AddString("0.5");
m_ctrlXScaleCombo.AddString("0.2");
m_ctrlXScaleCombo.AddString("0.1");
m_ctrlXScaleCombo.AddString("0.05");
m_ctrlXScaleCombo.AddString("0.02");
m_ctrlXScaleCombo.AddString("0.01");
m_ctrlXScaleCombo.SelectString(-1, m_sXSelection);
}
void CWzdToolBar::OnCloseupXCombo()
{
int i;
if((i = m_ctrlXScaleCombo.GetCurSel()) != CB_ERR)
{
m_ctrlXScaleCombo.GetLBText(i, m_sXSelection);
}
else
{
m_ctrlXScaleCombo.AddString(m_sXSelection);
m_ctrlXScaleCombo.SelectString(-1, m_sXSelection);
}
}
void CWzdToolBar::OnEditChangeXCombo()
{
m_ctrlXScaleCombo.GetWindowText(m_sXSelection);
}
void CWzdToolBar::OnDropdownYCombo()
{
m_ctrlYScaleCombo.ResetContent();
m_ctrlYScaleCombo.AddString("0.01");
m_ctrlYScaleCombo.AddString("0.1");
m_ctrlYScaleCombo.AddString("1");
m_ctrlYScaleCombo.AddString("2");
m_ctrlYScaleCombo.AddString("5");
m_ctrlYScaleCombo.AddString("10");
m_ctrlYScaleCombo.AddString("20");
m_ctrlYScaleCombo.AddString("50");
m_ctrlYScaleCombo.AddString("100");
m_ctrlYScaleCombo.AddString("200");
m_ctrlYScaleCombo.SelectString(-1, m_sYSelection);
}
void CWzdToolBar::OnCloseupYCombo()
{
int i;
if((i = m_ctrlYScaleCombo.GetCurSel()) != CB_ERR)
{
m_ctrlYScaleCombo.GetLBText(i, m_sYSelection);
}
else
{
m_ctrlYScaleCombo.AddString(m_sYSelection);
m_ctrlYScaleCombo.SelectString(-1, m_sYSelection);
}
}
void CWzdToolBar::OnEditChangeYCombo()
{
m_ctrlYScaleCombo.GetWindowText(m_sYSelection);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -