📄 pptooltip.cpp
字号:
if (((x-i)>0)&&((y+i)<sYSize))
m_dNormal.SetPixelIndex(x-i,y+i,(BYTE)d);
if (((x+i)<sXSize)&&((y-i)>0))
m_dNormal.SetPixelIndex(sXSize-x+i,y-i,(BYTE)d);
}
}
//blend strokes with SHS_DIAGONAL
posDst =iDst;
a=(idxmax-idxmin-k)/2;
for(i = 0; i < sYSize; i++) {
for(j = 0; j < sXSize; j++) {
d=posDst[j]+((a*i)/sYSize+(a*(sXSize-j))/sXSize);
posDst[j]=(BYTE)d;
posDst[j]+=rand()/grainx2;
}
posDst+=bytes;
}
break;
//----------------------------------------------------
case PPTOOLTIP_EFFECT_HARDBUMP: //
//set horizontal bump
for(i = 0; i < sYSize; i++) {
k=(255*i/sYSize)-127;
k=(k*(k*k)/128)/128;
k=(k*(128-granularity*2))/128+128;
for(j = 0; j < sXSize; j++) {
posDst[j]=(BYTE)k;
posDst[j]+=rand()/grainx2-granularity;
}
posDst+=bytes;
}
//set vertical bump
d=min(16,sXSize/6); //max edge=16
a=sYSize*sYSize/4;
posDst =iDst;
for(i = 0; i < sYSize; i++) {
y=i-sYSize/2;
for(j = 0; j < sXSize; j++) {
x=j-sXSize/2;
xs=sXSize/2-d+(y*y*d)/a;
if (x>xs) posDst[j]=idxmin+(BYTE)(((sXSize-j)*128)/d);
if ((x+xs)<0) posDst[j]=idxmax-(BYTE)((j*128)/d);
posDst[j]+=rand()/grainx2-granularity;
}
posDst+=bytes;
}
break;
//----------------------------------------------------
case PPTOOLTIP_EFFECT_SOFTBUMP: //
for(i = 0; i < sYSize; i++) {
h=(255*i/sYSize)-127;
for(j = 0; j < sXSize; j++) {
k=(255*(sXSize-j)/sXSize)-127;
k=(h*(h*h)/128)/128+(k*(k*k)/128)/128;
k=k*(128-granularity)/128+128;
if (k<idxmin) k=idxmin;
if (k>idxmax) k=idxmax;
posDst[j]=(BYTE)k;
posDst[j]+=rand()/grainx2-granularity;
}
posDst+=bytes;
}
break;
//----------------------------------------------------
case PPTOOLTIP_EFFECT_VBUMP: //
for(j = 0; j < sXSize; j++) {
k=(255*(sXSize-j)/sXSize)-127;
k=(k*(k*k)/128)/128;
k=(k*(128-granularity))/128+128;
for(i = 0; i < sYSize; i++) {
posDst[j+i*bytes]=(BYTE)k;
posDst[j+i*bytes]+=rand()/grainx2-granularity;
}
}
break;
//----------------------------------------------------
case PPTOOLTIP_EFFECT_HBUMP: //
for(i = 0; i < sYSize; i++) {
k=(255*i/sYSize)-127;
k=(k*(k*k)/128)/128;
k=(k*(128-granularity))/128+128;
for(j = 0; j < sXSize; j++) {
posDst[j]=(BYTE)k;
posDst[j]+=rand()/grainx2-granularity;
}
posDst+=bytes;
}
break;
//----------------------------------------------------
case PPTOOLTIP_EFFECT_DIAGSHADE: //
a=(idxmax-idxmin)/2;
for(i = 0; i < sYSize; i++) {
for(j = 0; j < sXSize; j++) {
posDst[j]=(BYTE)(idxmin+a*i/sYSize+a*(sXSize-j)/sXSize);
posDst[j]+=rand()/grainx2-granularity;
}
posDst+=bytes;
}
break;
//----------------------------------------------------
case PPTOOLTIP_EFFECT_HSHADE: //
a=idxmax-idxmin;
for(i = 0; i < sYSize; i++) {
k=a*i/sYSize+idxmin;
for(j = 0; j < sXSize; j++) {
posDst[j]=(BYTE)k;
posDst[j]+=rand()/grainx2-granularity;
}
posDst+=bytes;
}
break;
//----------------------------------------------------
case PPTOOLTIP_EFFECT_VSHADE: //:
a=idxmax-idxmin;
for(j = 0; j < sXSize; j++) {
k=a*(sXSize-j)/sXSize+idxmin;
for(i = 0; i < sYSize; i++) {
posDst[j+i*bytes]=(BYTE)k;
posDst[j+i*bytes]+=rand()/grainx2-granularity;
}
}
break;
//----------------------------------------------------
case PPTOOLTIP_EFFECT_NOISE:
for(i = 0; i < sYSize; i++) {
for(j = 0; j < sXSize; j++) {
posDst[j]=128+rand()/grainx2-granularity;
}
posDst+=bytes;
}
}
//----------------------------------------------------
}
#endif
HICON CPPToolTip::GetIconFromResources(UINT nID, CSize szIcon /* = CSize(0, 0) */) const
{
// Find correct resource handle
HINSTANCE hInstResource = AfxFindResourceHandle(MAKEINTRESOURCE(nID), RT_GROUP_ICON);
// Set icon when the mouse is IN the button
HICON hIcon = (HICON)::LoadImage(hInstResource, MAKEINTRESOURCE(nID), IMAGE_ICON, szIcon.cx, szIcon.cy, 0);
return hIcon;
}
HBITMAP CPPToolTip::GetBitmapFromResources(UINT nID) const
{
// Find correct resource handle
HINSTANCE hInstResource = AfxFindResourceHandle(MAKEINTRESOURCE(nID), RT_BITMAP);
// Load bitmap
HBITMAP hBitmap = (HBITMAP)::LoadImage(hInstResource, MAKEINTRESOURCE(nID), IMAGE_BITMAP, 0, 0, 0);
return hBitmap;
}
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
// CPPToolTip::SetStyles (public member function)
// Sets the new styles of the control
//
// Parameters :
// nStyle [in] - new style
//
// Returns :
// Old styles
//
/////////////////////////////////////////////////////////////////////////////
void CPPToolTip::SetStyles(DWORD nStyles, int nIndexTool /* = PPTOOLTIP_TOOL_NOEXIST */)
{
TRACE(_T("CPPToolTip::SetStyles()\n"));
ModifyStyles(nStyles, -1, nIndexTool);
} // End of SetStyles
/////////////////////////////////////////////////////////////////////////////
// CPPToolTip::ModifyStyles (public member function)
// Modify the styles of the control
//
// Parameters :
// nAddStyle [in] - The styles to add
// nRemoveStyle [in] - The styles to remove
//
// Returns :
// Old styles
//
/////////////////////////////////////////////////////////////////////////////
void CPPToolTip::ModifyStyles(DWORD nAddStyles, DWORD nRemoveStyles, int nIndexTool /* = PPTOOLTIP_TOOL_NOEXIST */)
{
if (!IsExistTool(nIndexTool))
{
m_nStyles &= ~nRemoveStyles;
m_nStyles |= nAddStyles;
}
else
{
PPTOOLTIP_INFO ti;
GetTool(nIndexTool, ti);
if (!(ti.nMask & PPTOOLTIP_MASK_STYLES))
ti.nStyles = m_nStyles;
ti.nStyles &= ~nRemoveStyles;
ti.nStyles |= nAddStyles;
ti.nMask |= PPTOOLTIP_MASK_STYLES;
SetAtTool(nIndexTool, ti);
}
} // End of ModifyStyles
/////////////////////////////////////////////////////////////////////////////
// CPPToolTip::GetStyles (public member function)
// Gets the current styles of the control
//
// Parameters :
//
// Returns :
// Current styles
//
/////////////////////////////////////////////////////////////////////////////
DWORD CPPToolTip::GetStyles(int nIndexTool /* = PPTOOLTIP_TOOL_NOEXIST */)
{
TRACE(_T("CPPToolTip::GetStyles()\n"));
if (IsExistTool(nIndexTool))
{
PPTOOLTIP_INFO ti;
GetTool(nIndexTool, ti);
if (ti.nMask & PPTOOLTIP_MASK_STYLES)
return ti.nStyles;
}
return m_nStyles;
} // End of GetStyles
/////////////////////////////////////////////////////////////////////////////
// CPPToolTip::SetDefaultStyles (public member function)
// Sets the new styles of the control
//
// Parameters :
//
// Returns :
// None
//
/////////////////////////////////////////////////////////////////////////////
void CPPToolTip::SetDefaultStyles(int nIndexTool /* = PPTOOLTIP_TOOL_NOEXIST */)
{
TRACE(_T("CPPToolTip::SetDefaultStyles()\n"));
SetStyles(PPTOOLTIP_BALLOON | PPTOOLTIP_ICON_VCENTER_ALIGN, nIndexTool);
} // End of SetDefaultStyles
/////////////////////////////////////////////////////////////////////////////
// CPPToolTip::SetColor (public member function)
// Set the color
//
// Parameters :
// nIndex [in] - index of the color
// crColor [in] - new color
//
// Returns :
// None
//
/////////////////////////////////////////////////////////////////////////////
void CPPToolTip::SetColor(int nIndex, COLORREF crColor)
{
TRACE (_T("CPPToolTip::SetColor(nIndex = %d)\n"), nIndex);
if (nIndex >= PPTOOLTIP_MAX_COLORS)
return;
m_crColor [nIndex] = crColor;
} // End of SetColor
/////////////////////////////////////////////////////////////////////////////
// CPPToolTip::GetColor (public member function)
// Set the color
//
// Parameters :
// nIndex [in] - index of the color
//
// Returns :
// Current color
//
/////////////////////////////////////////////////////////////////////////////
COLORREF CPPToolTip::GetColor(int nIndex)
{
TRACE (_T("CPPToolTip::GetColor(nIndex = %d)\n"), nIndex);
if (nIndex >= PPTOOLTIP_MAX_COLORS)
nIndex = PPTOOLTIP_COLOR_FG;
return m_crColor [nIndex];
} // End of GetColor
/////////////////////////////////////////////////////////////////////////////
// CPPToolTip::SetDefaultColors (public member function)
// Set the color as default
//
// Parameters :
// None
//
// Returns :
// None
//
/////////////////////////////////////////////////////////////////////////////
void CPPToolTip::SetDefaultColors()
{
TRACE (_T("CPPToolTip::SetDefaultColors\n"));
SetColor(PPTOOLTIP_COLOR_0, RGB (0, 0, 0));
SetColor(PPTOOLTIP_COLOR_1, RGB (0, 0, 128));
SetColor(PPTOOLTIP_COLOR_2, RGB (0, 128, 0));
SetColor(PPTOOLTIP_COLOR_3, RGB (0, 128, 128));
SetColor(PPTOOLTIP_COLOR_4, RGB (128, 0, 0));
SetColor(PPTOOLTIP_COLOR_5, RGB (128, 0, 128));
SetColor(PPTOOLTIP_COLOR_6, RGB (128, 128, 0));
SetColor(PPTOOLTIP_COLOR_7, RGB (128, 128, 128));
SetColor(PPTOOLTIP_COLOR_8, RGB (0, 0, 255));
SetColor(PPTOOLTIP_COLOR_9, RGB (0, 255, 0));
SetColor(PPTOOLTIP_COLOR_10, RGB (0, 255, 255));
SetColor(PPTOOLTIP_COLOR_11, RGB (255, 0, 0));
SetColor(PPTOOLTIP_COLOR_12, RGB (255, 0, 255));
SetColor(PPTOOLTIP_COLOR_13, RGB (255, 255, 0));
SetColor(PPTOOLTIP_COLOR_14, RGB (192, 192, 192));
SetColor(PPTOOLTIP_COLOR_15, RGB (255, 255, 255));
SetColor(PPTOOLTIP_COLOR_FG, ::GetSysColor(COLOR_INFOTEXT));
SetColor(PPTOOLTIP_COLOR_BK_BEGIN, ::GetSysColor(COLOR_INFOBK));
SetColor(PPTOOLTIP_COLOR_BK_MID, ::GetSysColor(COLOR_INFOBK));
SetColor(PPTOOLTIP_COLOR_BK_END, ::GetSysColor(COLOR_INFOBK));
SetColor(PPTOOLTIP_COLOR_LINK, RGB(0, 0, 238));
SetColor(PPTOOLTIP_COLOR_VISITED, RGB(85, 26, 139));
SetColor(PPTOOLTIP_COLOR_HOVER, RGB(255, 0, 0));
SetColor(PPTOOLTIP_COLOR_SHADOW, ::GetSysColor(COLOR_3DSHADOW));
SetColor(PPTOOLTIP_COLOR_BORDER, ::GetSysColor(COLOR_INFOTEXT));
} // End of SetDefaultColors
/////////////////////////////////////////////////////////////////////////////
// CPPToolTip::SetGradientColors (public member function)
// Set the gradient colors
//
// Parameters :
// crStart [in] - start color
// crEnd [in] - end color
//
// Returns :
// None
//
/////////////////////////////////////////////////////////////////////////////
void CPPToolTip::SetGradientColors(COLORREF crBegin, COLORREF crMid, COLORREF crEnd, int nIndexTool /* = PPTOOLTIP_TOOL_NOEXIST */)
{
TRACE (_T("CPPToolTip::SetGradientColors\n"));
if (!IsExistTool(nIndexTool))
{
SetColor(PPTOOLTIP_COLOR_BK_BEGIN, crBegin);
SetColor(PPTOOLTIP_COLOR_BK_MID, crMid);
SetColor(PPTOOLTIP_COLOR_BK_END, crEnd);
}
else
{
PPTOOLTIP_INFO ti;
GetTool(nIndexTool, ti);
ti.crBegin = crBegin;
ti.crMid = crMid;
ti.crEnd = crEnd;
ti.nMask |= PPTOOLTIP_MASK_COLORS;
SetAtTool(nIndexTool, ti);
}
} // End of SetGradientColors
/////////////////////////////////////////////////////////////////////////////
// CPPToolTip::GetGradientColors (public member function)
// Set the gradient colors
//
// Parameters :
// None
//
// Returns :
// crStart [out] - start color
// crEnd [out] - end color
//
/////////////////////////////////////////////////////////////////////////////
void CPPToolTip::GetGradientColors(COLORREF & crBegin, COLORREF & crMid, COLORREF & crEnd, int nIndexTool /* = -1 */)
{
TRACE (_T("CPPToolTip::GetGradientColors\n"));
if (IsExistTool(nIndexTool))
{
PPTOOLTIP_INFO ti;
GetTool(nIndexTool, ti);
if (ti.nMask & PPTOOLTIP_MASK_COLORS)
{
crBegin = ti.crBegin;
crMid = ti.crMid;
crEnd = ti.crEnd;
return;
}
}
crBegin = GetColor(PPTOOLTIP_COLOR_BK_BEGIN);
crMid = GetColor(PPTOOLTIP_COLOR_BK_MID);
crEnd = GetColor(PPTOOLTIP_COLOR_BK_END);
} // End of GetGradientColors
void CPPToolTip::SetMaskTool(int nIndexTool, UINT nMask /* = 0 */)
{
ModifyMaskTool(nIndexTool, nMask, -1);
}
void CPPToolTip::ModifyMaskTool(int nIndexTool, UINT nAddMask, UINT nRemoveMask)
{
if (!IsExistTool(nIndexTool))
return;
PPTOOLTIP_INFO ti;
GetTool(nIndexTool, ti);
ti.nMask &= ~nRemoveMask;
ti.nMask |= nAddMask;
SetAtTool(nIndexTool, ti);
}
UINT CPPToolTip::GetMaskTool(int nIndexTool)
{
if (!IsExistTool(nIndexTool))
return 0;
PPTOOLTIP_INFO ti;
GetTool(nIndexTool, ti);
return ti.nMask;
}
/////////////////////////////////////////////////////////////////////////////
// CPPToolTip::SetEffectBk (public member function)
// sets the background's effect
//
// Parameters :
// nEffect [in] - the background's effect
//
// Returns :
// None
//
/////////////////////////////////////////////////////////////////////////////
void CPPToolTip::SetEffectBk(UINT nEffect, BYTE nGranularity /* = 2 */, int nIndexTool /* = PPTOOLTIP_TOOL_NOEXIST */)
{
TRACE (_T("CPPToolTip::SetEffectBk\n"));
if (!IsExistTool(nIndexTool))
{
m_nEffect = nEffect;
m_nGranularity = nGranularity;
}
else
{
PPTOOLTIP_INFO ti;
GetTool(nIndexTool, ti);
ti.nEffect = nEffect;
ti.nGranularity = nGranularity;
ti.nMask |= PPTOOLTIP_MASK_EFFECT;
SetAtTool(nIndexTool, ti);
}
} // End SetEffectBk
/////////////////////////////////////////////////////////////////////////////
// CPPToolTip::GetEffectBk (public member function)
// gets the background's effect
//
// Parameters :
// None
//
// Returns :
// the background's effect
//
/////////////////////////////////////////////////////////////////////////////
UINT CPPToolTip::GetEffectBk(i
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -