📄 tritransfromerctl.cpp
字号:
rc.bottom=rc1.bottom-(rc1.bottom -rc1.top)/4;
switch(m_displayType)
{
case 2:
case 3:
DrawTransformer(pdc,rc,1,m_rightColor);
break;
case 5:
case 6:
DrawTransformer(pdc,rc,2,m_rightColor);
break;
case 1:
case 4:
DrawTransformer(pdc,rc,3,m_rightColor);
break;
}
}
/////////////////////////////////////////////////////////////////////////////
// CTritransfromerCtrl::OnDraw - Drawing function
void CTritransfromerCtrl::OnDraw(
CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid)
{
// TODO: Replace the following code with your own drawing code.
CRect rc;
rc = rcBounds;
COLORREF colBack;
CBrush bkBrush,*oldBrush=NULL;
OleTranslateColor(m_backColor, NULL, &colBack);
bkBrush.CreateSolidBrush(colBack);
oldBrush=pdc->SelectObject(&bkBrush);
pdc->FillRect(&rc,&bkBrush);
pdc->SelectObject(&oldBrush);
bkBrush.DeleteObject();
pdc->SetBkMode(TRANSPARENT);
CBrush bkBrush2,*oldBrush2;
if(m_bImageHollow)
{
bkBrush2.CreateStockObject(NULL_BRUSH);
}
else
{
bkBrush2.CreateSolidBrush(colBack);
}
oldBrush2=pdc->SelectObject(&bkBrush2);
DrawThreeTransformer(pdc,rc,m_displayType);
pdc->SelectObject(oldBrush2);
bkBrush2.DeleteObject();
}
LRESULT CTritransfromerCtrl::OnMyMessage101(WPARAM wParam, LPARAM lParam)
{
// TODO: 处理用户自定义消息
COLORREF colCustom;
colCustom=(COLORREF)lParam;
SetTopColor(colCustom);
return 0;
}
LRESULT CTritransfromerCtrl::OnMyMessage102(WPARAM wParam, LPARAM lParam)
{
// TODO: 处理用户自定义消息
COLORREF colCustom;
colCustom=(COLORREF)lParam;
SetBottomColor(colCustom);
return 0;
}
LRESULT CTritransfromerCtrl::OnMyMessage103(WPARAM wParam, LPARAM lParam)
{
// TODO: 处理用户自定义消息
COLORREF colCustom;
colCustom=(COLORREF)lParam;
SetRightColor(colCustom);
return 0;
}
/////////////////////////////////////////////////////////////////////////////
// CTritransfromerCtrl::DoPropExchange - Persistence support
void CTritransfromerCtrl::DoPropExchange(CPropExchange* pPX)
{
ExchangeVersion(pPX, MAKELONG(_wVerMinor, _wVerMajor));
COleControl::DoPropExchange(pPX);
// TODO: Call PX_ functions for each persistent custom property.
PX_Color(pPX,"BackColor",m_backColor);
PX_Color(pPX,"ForeColor",m_foreColor);
PX_Bool(pPX,"ImageHollow",m_bImageHollow);
PX_Short(pPX,"LineSize",m_lineSize);
PX_Short(pPX,"DisplayType",m_displayType);
PX_Color(pPX,"TopColor",m_topColor);
PX_Color(pPX,"BottomColor",m_bottomColor);
PX_Color(pPX,"RightColor",m_rightColor);
}
/////////////////////////////////////////////////////////////////////////////
// CTritransfromerCtrl::OnResetState - Reset control to default state
void CTritransfromerCtrl::OnResetState()
{
COleControl::OnResetState(); // Resets defaults found in DoPropExchange
// TODO: Reset any other control state here.
}
/////////////////////////////////////////////////////////////////////////////
// CTritransfromerCtrl message handlers
OLE_COLOR CTritransfromerCtrl::GetBackColor()
{
// TODO: Add your property handler here
return m_backColor;
}
void CTritransfromerCtrl::SetBackColor(OLE_COLOR nNewValue)
{
// TODO: Add your property handler here
m_backColor = nNewValue;
SetModifiedFlag();
InvalidateControl();
}
OLE_COLOR CTritransfromerCtrl::GetForeColor()
{
// TODO: Add your property handler here
return m_foreColor;
}
void CTritransfromerCtrl::SetForeColor(OLE_COLOR nNewValue)
{
// TODO: Add your property handler here
m_foreColor = nNewValue;
SetModifiedFlag();
InvalidateControl();
}
short CTritransfromerCtrl::GetDisplayType()
{
// TODO: Add your property handler here
return m_displayType;
}
void CTritransfromerCtrl::SetDisplayType(short nNewValue)
{
// TODO: Add your property handler here
m_displayType = nNewValue;
SetModifiedFlag();
InvalidateControl();
}
BOOL CTritransfromerCtrl::GetImageHollow()
{
// TODO: Add your property handler here
return m_bImageHollow;
}
void CTritransfromerCtrl::SetImageHollow(BOOL bNewValue)
{
// TODO: Add your property handler here
m_bImageHollow = bNewValue;
SetModifiedFlag();
InvalidateControl();
}
short CTritransfromerCtrl::GetLineSize()
{
// TODO: Add your property handler here
return m_lineSize;
}
void CTritransfromerCtrl::SetLineSize(short nNewValue)
{
// TODO: Add your property handler here
m_lineSize = nNewValue;
SetModifiedFlag();
InvalidateControl();
}
LRESULT CTritransfromerCtrl::OnMySetExtent(WPARAM wParam, LPARAM lParam)
{
// TODO: 处理用户自定义消息
SIZEL SizeL;
SizeL.cx=m_iControlWidth;
SizeL.cy=m_iControlHeight;
return OnSetExtent(&SizeL);
}
BOOL CTritransfromerCtrl::OnSetExtent(LPSIZEL lpSizeL)
{
// TODO: Add your specialized code here and/or call the base class
lpSizeL->cx=m_iControlWidth;
lpSizeL->cy=m_iControlHeight;
COleControl::OnSetExtent(lpSizeL);
BOOL bMode;
bMode=AmbientUserMode();
if(bMode) //run mode
{
return 1;
}
else //design mode
{
return 0;
}
}
int CTritransfromerCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (COleControl::OnCreate(lpCreateStruct) == -1)
return -1;
// TODO: Add your specialized creation code here
PostMessage(WM_MY_SETEXTENT,0,0);
return 0;
}
OLE_COLOR CTritransfromerCtrl::GetTopColor()
{
// TODO: Add your property handler here
return m_topColor;
}
void CTritransfromerCtrl::SetTopColor(OLE_COLOR nNewValue)
{
// TODO: Add your property handler here
m_topColor=nNewValue;
SetModifiedFlag();
InvalidateControl();
}
OLE_COLOR CTritransfromerCtrl::GetBottomColor()
{
// TODO: Add your property handler here
return m_bottomColor;
}
void CTritransfromerCtrl::SetBottomColor(OLE_COLOR nNewValue)
{
// TODO: Add your property handler here
m_bottomColor=nNewValue;
SetModifiedFlag();
InvalidateControl();
}
OLE_COLOR CTritransfromerCtrl::GetRightColor()
{
// TODO: Add your property handler here
return m_rightColor;
}
void CTritransfromerCtrl::SetRightColor(OLE_COLOR nNewValue)
{
// TODO: Add your property handler here
m_rightColor=nNewValue;
SetModifiedFlag();
InvalidateControl();
}
BOOL CTritransfromerCtrl::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Add your specialized code here and/or call the base class
return COleControl::PreCreateWindow(cs);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -