📄 sdmenu.cpp
字号:
colors[2]=(TColor)RGB(175,159,128);
colors[3]=(TColor)RGB(224,207,176);
if(m_sdNavArrows->Count()>0)
{
m_Image->Canvas->Brush->Color=clWhite;
m_Image->Canvas->FillRect(TRect(0,0,m_Image->Width,m_Image->Height));
}
for(int i=0;i<m_sdNavArrows->Count();i++)
{
LocateByIndex(i);
m_Image->Canvas->Brush->Color=(TColor)(m_NavArrowColor.ToInt());
m_Image->Canvas->Pen->Color=(TColor)(m_NavArrowColor.ToInt());
m_Image->Canvas->Pen->Style= psSolid;
m_Image->Canvas->Pen->Mode=pmCopy ;
switch(m_NavArrowDir)
{
case 0:
if(m_NavArrow3D==1)
{
if(m_NavArrowStyle==1)
{
m_Image->Canvas->FillRect(TRect(m_NavArrowX1-m_Image->Left,m_NavArrowY1-m_Image->Top,m_NavArrowX2-m_Image->Left,m_NavArrowY2-m_Image->Top-3));
m_Image->Canvas->Pen->Color=colors[0];
m_Image->Canvas->MoveTo(m_NavArrowX1-m_Image->Left,m_NavArrowY2-m_Image->Top-3);
m_Image->Canvas->LineTo(m_NavArrowX2-m_Image->Left,m_NavArrowY2-m_Image->Top-3);
m_Image->Canvas->Pen->Color=colors[1];
m_Image->Canvas->MoveTo(m_NavArrowX1-m_Image->Left+1,m_NavArrowY2-m_Image->Top-2);
m_Image->Canvas->LineTo(m_NavArrowX2-m_Image->Left,m_NavArrowY2-m_Image->Top-2);
m_Image->Canvas->Pen->Color=colors[2];
m_Image->Canvas->MoveTo(m_NavArrowX1-m_Image->Left+2,m_NavArrowY2-m_Image->Top-1);
m_Image->Canvas->LineTo(m_NavArrowX2-m_Image->Left,m_NavArrowY2-m_Image->Top-1);
m_Image->Canvas->Pen->Color=colors[3];
m_Image->Canvas->MoveTo(m_NavArrowX1-m_Image->Left+3,m_NavArrowY2-m_Image->Top);
m_Image->Canvas->LineTo(m_NavArrowX2-m_Image->Left,m_NavArrowY2-m_Image->Top);
}
else
{
m_Image->Canvas->FillRect(TRect(m_NavArrowX1-m_Image->Left,m_NavArrowY1-m_Image->Top,m_NavArrowX2-m_Image->Left-3,m_NavArrowY2-m_Image->Top));
m_Image->Canvas->Pen->Color=colors[0];
m_Image->Canvas->MoveTo(m_NavArrowX2-m_Image->Left-3,m_NavArrowY1-m_Image->Top);
m_Image->Canvas->LineTo(m_NavArrowX2-m_Image->Left-3,m_NavArrowY2-m_Image->Top);
m_Image->Canvas->Pen->Color=colors[1];
m_Image->Canvas->MoveTo(m_NavArrowX2-m_Image->Left-2,m_NavArrowY1-m_Image->Top+1);
m_Image->Canvas->LineTo(m_NavArrowX2-m_Image->Left-2,m_NavArrowY2-m_Image->Top);
m_Image->Canvas->Pen->Color=colors[2];
m_Image->Canvas->MoveTo(m_NavArrowX2-m_Image->Left-1,m_NavArrowY1-m_Image->Top+2);
m_Image->Canvas->LineTo(m_NavArrowX2-m_Image->Left-1,m_NavArrowY2-m_Image->Top);
m_Image->Canvas->Pen->Color=colors[3];
m_Image->Canvas->MoveTo(m_NavArrowX2-m_Image->Left,m_NavArrowY1-m_Image->Top+3);
m_Image->Canvas->LineTo(m_NavArrowX2-m_Image->Left,m_NavArrowY2-m_Image->Top);
}
}
else
m_Image->Canvas->FillRect(TRect(m_NavArrowX1-m_Image->Left,m_NavArrowY1-m_Image->Top,m_NavArrowX2-m_Image->Left,m_NavArrowY2-m_Image->Top));
break;
case 1:
if(m_NavArrow3D==1)
{
m_Image->Canvas->FillRect(TRect(m_NavArrowX1-m_Image->Left+10,m_NavArrowY1-m_Image->Top,m_NavArrowX2-m_Image->Left,m_NavArrowY2-m_Image->Top));
m_Image->Canvas->Pen->Color=colors[0];
m_Image->Canvas->MoveTo(m_NavArrowX1-m_Image->Left+10,m_NavArrowY2-m_Image->Top-3);
m_Image->Canvas->LineTo(m_NavArrowX2-m_Image->Left,m_NavArrowY2-m_Image->Top-3);
m_Image->Canvas->Pen->Color=colors[1];
m_Image->Canvas->MoveTo(m_NavArrowX1-m_Image->Left+10,m_NavArrowY2-m_Image->Top-2);
m_Image->Canvas->LineTo(m_NavArrowX2-m_Image->Left,m_NavArrowY2-m_Image->Top-2);
m_Image->Canvas->Pen->Color=colors[2];
m_Image->Canvas->MoveTo(m_NavArrowX1-m_Image->Left+10,m_NavArrowY2-m_Image->Top-1);
m_Image->Canvas->LineTo(m_NavArrowX2-m_Image->Left,m_NavArrowY2-m_Image->Top-1);
m_Image->Canvas->Pen->Color=colors[3];
m_Image->Canvas->MoveTo(m_NavArrowX1-m_Image->Left+10,m_NavArrowY2-m_Image->Top);
m_Image->Canvas->LineTo(m_NavArrowX2-m_Image->Left,m_NavArrowY2-m_Image->Top);
points[0]=Point(m_NavArrowX1-m_Image->Left,m_NavArrowY1+(m_NavArrowY2-m_NavArrowY1)/2-m_Image->Top-2);
points[1]=Point(m_NavArrowX1+10-m_Image->Left,m_NavArrowY1-6-m_Image->Top);
points[2]=Point(m_NavArrowX1+10-m_Image->Left,m_NavArrowY2+2-m_Image->Top);
m_Image->Canvas->Pen->Color=(TColor)(m_NavArrowColor.ToInt());
m_Image->Canvas->Polygon(points,2);
m_Image->Canvas->Pen->Color=colors[0];
m_Image->Canvas->MoveTo(m_NavArrowX1-m_Image->Left,m_NavArrowY1+(m_NavArrowY2-m_NavArrowY1)/2-m_Image->Top-1);
m_Image->Canvas->LineTo(m_NavArrowX1-m_Image->Left+10,m_NavArrowY2-m_Image->Top+3);
m_Image->Canvas->Pen->Color=colors[1];
m_Image->Canvas->MoveTo(m_NavArrowX1-m_Image->Left,m_NavArrowY1+(m_NavArrowY2-m_NavArrowY1)/2-m_Image->Top);
m_Image->Canvas->LineTo(m_NavArrowX1-m_Image->Left+10,m_NavArrowY2-m_Image->Top+4);
m_Image->Canvas->Pen->Color=colors[2];
m_Image->Canvas->MoveTo(m_NavArrowX1-m_Image->Left,m_NavArrowY1+(m_NavArrowY2-m_NavArrowY1)/2-m_Image->Top+1);
m_Image->Canvas->LineTo(m_NavArrowX1-m_Image->Left+10,m_NavArrowY2-m_Image->Top+5);
m_Image->Canvas->Pen->Color=colors[3];
m_Image->Canvas->MoveTo(m_NavArrowX1-m_Image->Left,m_NavArrowY1+(m_NavArrowY2-m_NavArrowY1)/2-m_Image->Top+2);
m_Image->Canvas->LineTo(m_NavArrowX1-m_Image->Left+10,m_NavArrowY2-m_Image->Top+6);
}
else
{
points[0]=Point(m_NavArrowX1-m_Image->Left,m_NavArrowY1+(m_NavArrowY2-m_NavArrowY1)/2-m_Image->Top);
points[1]=Point(m_NavArrowX1+10-m_Image->Left,m_NavArrowY1-4-m_Image->Top);
points[2]=Point(m_NavArrowX1+10-m_Image->Left,m_NavArrowY2+4-m_Image->Top);
m_Image->Canvas->FillRect(TRect(m_NavArrowX1-m_Image->Left+10,m_NavArrowY1-m_Image->Top,m_NavArrowX2-m_Image->Left,m_NavArrowY2-m_Image->Top));
m_Image->Canvas->Polygon(points,2);
}
break;
case 2:
if(m_NavArrow3D==1)
{
m_Image->Canvas->FillRect(TRect(m_NavArrowX1-m_Image->Left,m_NavArrowY1-m_Image->Top,m_NavArrowX2-10-m_Image->Left,m_NavArrowY2-m_Image->Top));
m_Image->Canvas->Pen->Color=colors[0];
m_Image->Canvas->MoveTo(m_NavArrowX1-m_Image->Left,m_NavArrowY2-m_Image->Top-3);
m_Image->Canvas->LineTo(m_NavArrowX2-m_Image->Left-10,m_NavArrowY2-m_Image->Top-3);
m_Image->Canvas->Pen->Color=colors[1];
m_Image->Canvas->MoveTo(m_NavArrowX1-m_Image->Left+1,m_NavArrowY2-m_Image->Top-2);
m_Image->Canvas->LineTo(m_NavArrowX2-m_Image->Left-10,m_NavArrowY2-m_Image->Top-2);
m_Image->Canvas->Pen->Color=colors[2];
m_Image->Canvas->MoveTo(m_NavArrowX1-m_Image->Left+2,m_NavArrowY2-m_Image->Top-1);
m_Image->Canvas->LineTo(m_NavArrowX2-m_Image->Left-10,m_NavArrowY2-m_Image->Top-1);
m_Image->Canvas->Pen->Color=colors[3];
m_Image->Canvas->MoveTo(m_NavArrowX1-m_Image->Left+3,m_NavArrowY2-m_Image->Top);
m_Image->Canvas->LineTo(m_NavArrowX2-m_Image->Left-10,m_NavArrowY2-m_Image->Top);
points[0]=Point(m_NavArrowX2-m_Image->Left,m_NavArrowY1+(m_NavArrowY2-m_NavArrowY1)/2-m_Image->Top-2);
points[1]=Point(m_NavArrowX2-10-m_Image->Left,m_NavArrowY1-6-m_Image->Top);
points[2]=Point(m_NavArrowX2-10-m_Image->Left,m_NavArrowY2+2-m_Image->Top);
m_Image->Canvas->Pen->Color=(TColor)(m_NavArrowColor.ToInt());
m_Image->Canvas->Polygon(points,2);
m_Image->Canvas->Pen->Color=colors[0];
m_Image->Canvas->MoveTo(m_NavArrowX2-m_Image->Left,m_NavArrowY1+(m_NavArrowY2-m_NavArrowY1)/2-m_Image->Top-1);
m_Image->Canvas->LineTo(m_NavArrowX2-m_Image->Left-10,m_NavArrowY2-m_Image->Top+3);
m_Image->Canvas->Pen->Color=colors[1];
m_Image->Canvas->MoveTo(m_NavArrowX2-m_Image->Left,m_NavArrowY1+(m_NavArrowY2-m_NavArrowY1)/2-m_Image->Top);
m_Image->Canvas->LineTo(m_NavArrowX2-m_Image->Left-10,m_NavArrowY2-m_Image->Top+4);
m_Image->Canvas->Pen->Color=colors[2];
m_Image->Canvas->MoveTo(m_NavArrowX2-m_Image->Left,m_NavArrowY1+(m_NavArrowY2-m_NavArrowY1)/2-m_Image->Top+1);
m_Image->Canvas->LineTo(m_NavArrowX2-m_Image->Left-10,m_NavArrowY2-m_Image->Top+5);
m_Image->Canvas->Pen->Color=colors[3];
m_Image->Canvas->MoveTo(m_NavArrowX2-m_Image->Left,m_NavArrowY1+(m_NavArrowY2-m_NavArrowY1)/2-m_Image->Top+2);
m_Image->Canvas->LineTo(m_NavArrowX2-m_Image->Left-10,m_NavArrowY2-m_Image->Top+6);
}
else
{
points[0]=Point(m_NavArrowX2-m_Image->Left,m_NavArrowY1+(m_NavArrowY2-m_NavArrowY1)/2-m_Image->Top);
points[1]=Point(m_NavArrowX2-10-m_Image->Left,m_NavArrowY1-4-m_Image->Top);
points[2]=Point(m_NavArrowX2-10-m_Image->Left,m_NavArrowY2+4-m_Image->Top);
m_Image->Canvas->FillRect(TRect(m_NavArrowX1-m_Image->Left,m_NavArrowY1-m_Image->Top,m_NavArrowX2-10-m_Image->Left,m_NavArrowY2-m_Image->Top));
m_Image->Canvas->Polygon(points,2);
}
break;
case 3:
if(m_NavArrow3D==1)
{
m_Image->Canvas->FillRect(TRect(m_NavArrowX1-m_Image->Left,m_NavArrowY1-m_Image->Top+10,m_NavArrowX2-m_Image->Left,m_NavArrowY2-m_Image->Top));
m_Image->Canvas->Pen->Color=colors[0];
m_Image->Canvas->MoveTo(m_NavArrowX2-m_Image->Left-3,m_NavArrowY1-m_Image->Top+10);
m_Image->Canvas->LineTo(m_NavArrowX2-m_Image->Left-3,m_NavArrowY2-m_Image->Top);
m_Image->Canvas->Pen->Color=colors[1];
m_Image->Canvas->MoveTo(m_NavArrowX2-m_Image->Left-2,m_NavArrowY1-m_Image->Top+10);
m_Image->Canvas->LineTo(m_NavArrowX2-m_Image->Left-2,m_NavArrowY2-m_Image->Top);
m_Image->Canvas->Pen->Color=colors[2];
m_Image->Canvas->MoveTo(m_NavArrowX2-m_Image->Left-1,m_NavArrowY1-m_Image->Top+10);
m_Image->Canvas->LineTo(m_NavArrowX2-m_Image->Left-1,m_NavArrowY2-m_Image->Top);
m_Image->Canvas->Pen->Color=colors[3];
m_Image->Canvas->MoveTo(m_NavArrowX2-m_Image->Left,m_NavArrowY1-m_Image->Top+10);
m_Image->Canvas->LineTo(m_NavArrowX2-m_Image->Left,m_NavArrowY2-m_Image->Top);
points[0]=Point(m_NavArrowX1+(m_NavArrowX2-m_NavArrowX1)/2-m_Image->Left-2,m_NavArrowY1-m_Image->Top);
points[1]=Point(m_NavArrowX1-6-m_Image->Left,m_NavArrowY1+10-m_Image->Top);
points[2]=Point(m_NavArrowX2+2-m_Image->Left,m_NavArrowY1+10-m_Image->Top);
m_Image->Canvas->Pen->Color=(TColor)(m_NavArrowColor.ToInt());
m_Image->Canvas->Polygon(points,2);
m_Image->Canvas->Pen->Color=colors[0];
m_Image->Canvas->MoveTo(m_NavArrowX1+(m_NavArrowX2-m_NavArrowX1)/2-m_Image->Left-1,m_NavArrowY1-m_Image->Top);
m_Image->Canvas->LineTo(m_NavArrowX2-m_Image->Left+3,m_NavArrowY1-m_Image->Top+10);
m_Image->Canvas->Pen->Color=colors[1];
m_Image->Canvas->MoveTo(m_NavArrowX1+(m_NavArrowX2-m_NavArrowX1)/2-m_Image->Left,m_NavArrowY1-m_Image->Top);
m_Image->Canvas->LineTo(m_NavArrowX2-m_Image->Left+4,m_NavArrowY1-m_Image->Top+10);
m_Image->Canvas->Pen->Color=colors[2];
m_Image->Canvas->MoveTo(m_NavArrowX1+(m_NavArrowX2-m_NavArrowX1)/2-m_Image->Left+1,m_NavArrowY1-m_Image->Top);
m_Image->Canvas->LineTo(m_NavArrowX2-m_Image->Left+5,m_NavArrowY1-m_Image->Top+10);
m_Image->Canvas->Pen->Color=colors[3];
m_Image->Canvas->MoveTo(m_NavArrowX1+(m_NavArrowX2-m_NavArrowX1)/2-m_Image->Left+2,m_NavArrowY1-m_Image->Top);
m_Image->Canvas->LineTo(m_NavArrowX2-m_Image->Left+6,m_NavArrowY1-m_Image->Top+10);
}
else
{
points[0]=Point(m_NavArrowX1+(m_NavArrowX2-m_NavArrowX1)/2-m_Image->Left,m_NavArrowY1-m_Image->Top);
points[1]=Point(m_NavArrowX1-4-m_Image->Left,m_NavArrowY1+10-m_Image->Top);
points[2]=Point(m_NavArrowX2+4-m_Image->Left,m_NavArrowY1+10-m_Image->Top);
m_Image->Canvas->FillRect(TRect(m_NavArrowX1-m_Image->Left,m_NavArrowY1-m_Image->Top+10,m_NavArrowX2-m_Image->Left,m_NavArrowY2-m_Image->Top));
m_Image->Canvas->Polygon(points,2);
}
break;
case 4:
if(m_NavArrow3D==1)
{
m_Image->Canvas->FillRect(TRect(m_NavArrowX1-m_Image->Left,m_NavArrowY1-m_Image->Top,m_NavArrowX2-m_Image->Left,m_NavArrowY2-m_Image->Top-10));
m_Image->Canvas->Pen->Color=colors[0];
m_Image->Canvas->MoveTo(m_NavArrowX2-m_Image->Left-3,m_NavArrowY2-m_Image->Top-10);
m_Image->Canvas->LineTo(m_NavArrowX2-m_Image->Left-3,m_NavArrowY1-m_Image->Top);
m_Image->Canvas->Pen->Color=colors[1];
m_Image->Canvas->MoveTo(m_NavArrowX2-m_Image->Left-2,m_NavArrowY2-m_Image->Top-10);
m_Image->Canvas->LineTo(m_NavArrowX2-m_Image->Left-2,m_NavArrowY1-m_Image->Top);
m_Image->Canvas->Pen->Color=colors[2];
m_Image->Canvas->MoveTo(m_NavArrowX2-m_Image->Left-1,m_NavArrowY2-m_Image->Top-10);
m_Image->Canvas->LineTo(m_NavArrowX2-m_Image->Left-1,m_NavArrowY1-m_Image->Top);
m_Image->Canvas->Pen->Color=colors[3];
m_Image->Canvas->MoveTo(m_NavArrowX2-m_Image->Left,m_NavArrowY2-m_Image->Top-10);
m_Image->Canvas->LineTo(m_NavArrowX2-m_Image->Left,m_NavArrowY1-m_Image->Top);
points[0]=Point(m_NavArrowX1+(m_NavArrowX2-m_NavArrowX1)/2-m_Image->Left-2,m_NavArrowY2-m_Image->Top);
points[1]=Point(m_NavArrowX1-6-m_Image->Left,m_NavArrowY2-10-m_Image->Top);
points[2]=Point(m_NavArrowX2+2-m_Image->Left,m_NavArrowY2-10-m_Image->Top);
m_Image->Canvas->Pen->Color=(TColor)(m_NavArrowColor.ToInt());
m_Image->Canvas->Polygon(points,2);
m_Image->Canvas->Pen->Color=colors[0];
m_Image->Canvas->MoveTo(m_NavArrowX1+(m_NavArrowX2-m_NavArrowX1)/2-m_Image->Left-1,m_NavArrowY2-m_Image->Top);
m_Image->Canvas->LineTo(m_NavArrowX2-m_Image->Left+3,m_NavArrowY2-m_Image->Top-10);
m_Image->Canvas->Pen->Color=colors[1];
m_Image->Canvas->MoveTo(m_NavArrowX1+(m_NavArrowX2-m_NavArrowX1)/2-m_Image->Left,m_NavArrowY2-m_Image->Top);
m_Image->Canvas->LineTo(m_NavArrowX2-m_Image->Left+4,m_NavArrowY2-m_Image->Top-10);
m_Image->Canvas->Pen->Color=colors[2];
m_Image->Canvas->MoveTo(m_NavArrowX1+(m_NavArrowX2-m_NavArrowX1)/2-m_Image->Left+1,m_NavArrowY2-m_Image->Top);
m_Image->Canvas->LineTo(m_NavArrowX2-m_Image->Left+5,m_NavArrowY2-m_Image->Top-10);
m_Image->Canvas->Pen->Color=colors[3];
m_Image->Canvas->MoveTo(m_NavArrowX1+(m_NavArrowX2-m_NavArrowX1)/2-m_Image->Left+2,m_NavArrowY2-m_Image->Top);
m_Image->Canvas->LineTo(m_NavArrowX2-m_Image->Left+6,m_NavArrowY2-m_Image->Top-10);
}
else
{
points[0]=Point(m_NavArrowX1+(m_NavArrowX2-m_NavArrowX1)/2-m_Image->Left,m_NavArrowY2-m_Image->Top);
points[1]=Point(m_NavArrowX1-4-m_Image->Left,m_NavArrowY2-10-m_Image->Top);
points[2]=Point(m_NavArrowX2+4-m_Image->Left,m_NavArrowY2-10-m_Image->Top);
m_Image->Canvas->FillRect(TRect(m_NavArrowX1-m_Image->Left,m_NavArrowY1-m_Image->Top,m_NavArrowX2-m_Image->Left,m_NavArrowY2-m_Image->Top-10));
m_Image->Canvas->Polygon(points,2);
}
break;
case 5:
if(m_NavArrow3D==1)
{
m_Image->Canvas->FillRect(TRect(m_NavArrowX1-m_Image->Left+10,m_NavArrowY1-m_Image->Top,m_NavArrowX2-m_Image->Left-10,m_NavArrowY2-m_Image->Top));
m_Image->Canvas->Pen->Color=colors[0];
m_Image->Canvas->MoveTo(m_NavArrowX1-m_Image->Left+10,m_NavArrowY2-m_Image->Top-3);
m_Image->Canvas->LineTo(m_NavArrowX2-m_Image->Left-10,m_NavArrowY2-m_Image->Top-3);
m_Image->Canvas->Pen->Color=colors[1];
m_Image->Canvas->MoveTo(m_NavArrowX1-m_Image->Left+10,m_NavArrowY2-m_Image->Top-2);
m_Image->Canvas->LineTo(m_NavArrowX2-m_Image->Left-10,m_NavArrowY2-m_Image->Top-2);
m_Image->Canvas->Pen->Color=colors[2];
m_Image->Canvas->MoveTo(m_NavArrowX1-m_Image->Left+10,m_NavArrowY2-m_Image->Top-1);
m_Image->Canvas->LineTo(m_NavArrowX2-m_Image->Left-10,m_NavArrowY2-m_Image->Top-1);
m_Image->Canvas->Pen->Color=colors[3];
m_Image->Canvas->MoveTo(m_NavArrowX1-m_Image->Left+10,m_NavArrowY2-m_Image->Top);
m_Image->Canvas->LineTo(m_NavArrowX2-m_Image->Left-10,m_NavArrowY2-m_Image->Top);
points[0]=Point(m_NavArrowX1-m_Image->Left,m_NavArrowY1+(m_NavArrowY2-m_NavArrowY1)/2-m_Image->Top-2);
points[1]=Point(m_NavArrowX1+10-m_Image->Left,m_NavArrowY1-6-m_Image->Top);
points[2]=Point(m_NavArrowX1+10-m_Image->Left,m_NavArrowY2+2-m_Image->Top);
m_Image->Canvas->Pen->Color=(TColor)(m_NavArrowColor.ToInt());
m_Image->Canvas->Polygon(points,2);
m_Image->Canvas->Pen->Color=colors[0];
m_Image->Canvas->MoveTo(m_NavArrowX1-m_Image->Left,m_NavArrowY1+(m_NavArrowY2-m_NavArrowY1)/2-m_Image->Top-1);
m_Image->Canvas->LineTo(m_NavArrowX1-m_Image->Left+10,m_NavArrowY2-m_Image->Top+3);
m_Image->Canvas->Pen->Color=colors[1];
m_Image->Canvas->MoveTo(m_NavArrowX1-m_Image->Left,m_NavArrowY1+(m_NavArrowY2-m_NavArrowY1)/2-m_Image->Top);
m_Image->Canvas->LineTo(m_NavArrowX1-m_Image->Left+10,m_NavArrowY2-m_Image->Top+4);
m_Image->Canvas->Pen->Color=colors[2];
m_Image->Canvas->MoveTo(m_NavArrowX1-m_Image->Left,m_NavArrowY1+(m_NavArrowY2-m_NavArrowY1)/2-m_Image->Top+1);
m_Image->Canvas->LineTo(m_NavArrowX1-m_Image->Left+10,m_NavArrowY2-m_Image->Top+5);
m_Image->Canvas->Pen->Color=colors[3];
m_Image->Canvas->MoveTo(m_NavArrowX1-m_Image->Left,m_NavArrowY1+(m_NavArrowY2-m_NavArrowY1)/2-m_Image->Top+2);
m_Image->Canvas->LineTo(m_NavArrowX1-m_Image->Left+10,m_NavArrowY2-m_Image->Top+6);
points[0]=Point(m_NavArrowX2-m_Image->Left,m_NavArrowY1+(m_NavArrowY2-m_NavArrowY1)/2-m_Image->Top-2);
points[1]=Point(m_NavArrowX2-10-m_Image->Left,m_NavArrowY1-6-m_Image->Top);
points[2]=Point(m_NavArrowX2-10-m_Image->Left,m_NavArrowY2+2-m_Image->Top);
m_Image->Canvas->Pen->Color=(TColor)(m_NavArrowColor.ToInt());
m_Image->Canvas->Polygon(points,2);
m_Image->Canvas->Pen->Color=colors[0];
m_Image->Canvas->MoveTo(m_NavArrowX2-m_Image->Left,m_NavArrowY1+(m_NavArrowY2-m_NavArrowY1)/2-m_Image->Top-1);
m_Image->Canvas->LineTo(m_NavArrowX2-m_Image->Left-10,m_NavArrowY2-m_Image->Top+3);
m_Image->Canvas->Pen->Color=colors[1];
m_Image->Canvas->MoveTo(m_NavArrowX2-m_Image->Left,m_NavArrowY1+(m_NavArrowY2-m_NavArrowY1)/2-m_Image->Top);
m_Image->Canvas->LineTo(m_NavArrowX2-m_Image->Left-10,m_NavArrowY2-m_Image->Top+4);
m_Image->Canvas->Pen->Color=colors[2];
m_Image->Canvas->MoveTo(m_NavArrowX2-m_Image->Left,m_NavArrowY1+(m_NavArrowY2-m_NavArrowY1)/2-m_Image->Top+1);
m_Image->Canvas->LineTo(m_NavArrowX2-m_Image->Left-10,m_NavArrowY2-m_Image->Top+5);
m_Image->Canvas->Pen->Color=colors[3];
m_Image->Canvas->MoveTo(m_NavArrowX2-m_Image->Left,m_NavArrowY1+(m_NavArrowY2-m_NavArrowY1)/2-m_Image->Top+2);
m_Image->Canvas->LineTo(m_NavArrowX2-m_Image->Left-10,m_NavArrowY2-m_Image->Top+6);
}
else
{
m_Image->Canvas->FillRect(TRect(m_NavArrowX1-m_Image->Left+10,m_NavArrowY1-m_Image->Top,m_NavArrowX2-m_Image->Left,m_NavArrowY2-m_Image->Top-10));
points[0]=Point(m_NavArrowX1-m_Image->Left,m_NavArrowY1+(m_NavArrowY2-m_NavArrowY1)/2-m_Image->Top);
points[1]=Point(m_NavArrowX1+10-m_Image->Left,m_NavArrowY1-4-m_Image->Top);
points[2]=Point(m_NavArrowX1+10-m_Image->Left,m_NavArrowY2+4-m_Image->Top);
m_Image->Canvas->Polygon(points,2);
points[0]=Point(m_NavArrowX2-m_Image->Left,m_NavArrowY1+(m_NavArrowY2-m_NavArrowY1)/2-m_Image->Top);
points[1]=Point(m_NavArrowX2-10-m_Image->Left,m_NavArrowY1-4-m_Image->Top);
points[2]=Point(m_NavArrowX2-10-m_Image->Left,m_NavArrowY2+4-m_Image->Top);
m_Image->Canvas->Polygon(points,2);
}
break;
case 6:
if(m_NavArrow3D==1)
{
m_Image->Canvas->FillRect(TRect(m_NavArrowX1-m_Image->Left,m_NavArrowY1-m_Image->Top+10,m_NavArrowX2-m_Image->Left,m_NavArrowY2-m_Image->Top-10));
m_Image->Canvas->Pen->Color=colors[0];
m_Image->Canvas->MoveTo(m_NavArrowX2-m_Image->Left-3,m_NavArrowY1-m_Image->Top+10);
m_Image->Canvas->LineTo(m_NavArrowX2-m_Image->Left-3,m_NavArrowY2-m_Image->Top-10);
m_Image->Canvas->Pen->Color=colors[1];
m_Image->Canvas->MoveTo(m_NavArrowX2-m_Image->Left-2,m_NavArrowY1-m_Image->Top+10);
m_Image->Canvas->LineTo(m_NavArrowX2-m_Image->Left-2,m_NavArrowY2-m_Image->Top-10);
m_Image->Canvas->Pen->Color=colors[2];
m_Image->Canvas->MoveTo(m_NavArrowX2-m_Image->Left-1,m_NavArrowY1-m_Image->Top+10);
m_Image->Canvas->LineTo(m_NavArrowX2-m_Image->Left-1,m_NavArrowY2-m_Image->Top-10);
m_Image->Canvas->Pen->Color=colors[3];
m_Image->Canvas->MoveTo(m_NavArrowX2-m_Image->Left,m_NavArrowY1-m_Image->Top+10);
m_Image->Canvas->LineTo(m_NavArrowX2-m_Image->Left,m_NavArrowY2-m_Image->Top-10);
points[0]=Point(m_NavArrowX1+(m_NavArrowX2-m_NavArrowX1)/2-m_Image->Left-2,m_NavArrowY1-m_Image->Top);
points[1]=Point(m_NavArrowX1-6-m_Image->Left,m_NavArrowY1+10-m_Image->Top);
points[2]=Point(m_NavArrowX2+2-m_Image->Left,m_NavArrowY1+10-m_Image->Top);
m_Image->Canvas->Pen->Color=(TColor)(m_NavArrowColor.ToInt());
m_Image->Canvas->Polygon(points,2);
m_Image->Canvas->Pen->Color=colors[0];
m_Image->Canvas->MoveTo(m_NavArrowX1+(m_NavArrowX2-m_NavArrowX1)/2-m_Image->Left-1,m_NavArrowY1-m_Image->Top);
m_Image->Canvas->LineTo(m_NavArrowX2-m_Image->Left+3,m_NavArrowY1-m_Image->Top+10);
m_Image->Canvas->Pen->Color=colors[1];
m_Image->Canvas->MoveTo(m_NavArrowX1+(m_NavArrowX2-m_NavArrowX1)/2-m_Image->Left,m_NavArrowY1-m_Image->Top);
m_Image->Canvas->LineTo(m_NavArrowX2-m_Image->Left+4,m_NavArrowY1-m_Image->Top+10);
m_Image->Canvas->Pen->Color=colors[2];
m_Image->Canvas->MoveTo(m_NavArrowX1+(m_NavArrowX2-m_NavArrowX1)/2-m_Image->Left+1,m_NavArrowY1-m_Image->Top);
m_Image->Canvas->LineTo(m_NavArrowX2-m_Image->Left+5,m_NavArrowY1-m_Image->Top+10);
m_Image->Canvas->Pen->Color=colors[3];
m_Image->Canvas->MoveTo(m_NavArrowX1+(m_NavArrowX2-m_NavArrowX1)/2-m_Image->Left+2,m_NavArrowY1-m_Image->Top);
m_Image->Canvas->LineTo(m_NavArrowX2-m_Image->Left+6,m_NavArrowY1-m_Image->Top+10);
points[0]=Point(m_NavArrowX1+(m_NavArrowX2-m_NavArrowX1)/2-m_Image->Left-2,m_NavArrowY2-m_Image->Top);
points[1]=Point(m_NavArrowX1-6-m_Image->Left,m_NavArrowY2-10-m_Image->Top);
points[2]=Point(m_NavArrowX2+2-m_Image->Left,m_NavArrowY2-10-m_Image->Top);
m_Image->Canvas->Pen->Color=(TColor)(m_NavArrowColor.ToInt());
m_Image->Canvas->Polygon(points,2);
m_Image->Canvas->Pen->Color=colors[0];
m_Image->Canvas->MoveTo(m_NavArrowX1+(m_NavArrowX2-m_NavArrowX1)/2-m_Image->Left-1,m_NavArrowY2-m_Image->Top);
m_Image->Canvas->LineTo(m_NavArrowX2-m_Image->Left+3,m_NavArrowY2-m_Image->Top-10);
m_Image->Canvas->Pen->Color=colors[1];
m_Image->Canvas->MoveTo(m_NavArrowX1+(m_NavArrowX2-m_NavArrowX1)/2-m_Image->Left,m_NavArrowY2-m_Image->Top);
m_Image->Canvas->LineTo(m_NavArrowX2-m_Image->Left+4,m_NavArrowY2-m_Image->Top-10);
m_Image->Canvas->Pen->Color=colors[2];
m_Image->Canvas->MoveTo(m_NavArrowX1+(m_NavArrowX2-m_NavArrowX1)/2-m_Image->Left+1,m_NavArrowY2-m_Image->Top);
m_Image->Canvas->LineTo(m_NavArrowX2-m_Image->Left+5,m_NavArrowY2-m_Image->Top-10);
m_Image->Canvas->Pen->Color=colors[3];
m_Image->Canvas->MoveTo(m_NavArrowX1+(m_NavArrowX2-m_NavArrowX1)/2-m_Image->Left+2,m_NavArrowY2-m_Image->Top);
m_Image->Canvas->LineTo(m_NavArrowX2-m_Image->Left+6,m_NavArrowY2-m_Image->Top-10);
}
else
{
m_Image->Canvas->FillRect(TRect(m_NavArrowX1-m_Image->Left,m_NavArrowY1-m_Image->Top+10,m_NavArrowX2-m_Image->Left,m_NavArrowY2-m_Image->Top-10));
points[0]=Point(m_NavArrowX1+(m_NavArrowX2-m_NavArrowX1)/2-m_Image->Left,m_NavArrowY1-m_Image->Top);
points[1]=Point(m_NavArrowX1-4-m_Image->Left,m_NavArrowY1+10-m_Image->Top);
points[2]=Point(m_NavArrowX2+4-m_Image->Left,m_NavArrowY1+10-m_Image->Top);
m_Image->Canvas->Polygon(points,2);
points[0]=Point(m_NavArrowX1+(m_NavArrowX2-m_NavArrowX1)/2-m_Image->Left,m_NavArrowY1-m_Image->Top);
points[1]=Point(m_NavArrowX1-4-m_Image->Left,m_NavArrowY1+10-m_Image->Top);
points[2]=Point(m_NavArrowX2+4-m_Image->Left,m_NavArrowY1+10-m_Image->Top);
m_Image->Canvas->Polygon(points,2);
}
break;
}
}
}
void TsdNavArrow::HideNavArrow()
{
}
void TsdNavArrow::LocateByIndex(int Index)
{
TsdNavArrow *p=(TsdNavArrow *)m_sdNavArrows->Item(Index);
this->Assign(p);
}
//--------------------------------------------------------------------
void TsdNavArrow::LocateByKey(AnsiString Key)
{
TsdNavArrow *p=(TsdNavArrow *)m_sdNavArrows->Value(Key);
this->Assign(p);
}
//--------------------------------------------------------------------
void TsdNavArrow::AddNavArrow()
{
TsdNavArrow *p=new TsdNavArrow(m_Image);
p->Assign(this);
m_sdNavArrows->Add((void *)p,p->NavArrowCode);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -