⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sdmenu.cpp

📁 邮 电 公 司 erp源码
💻 CPP
📖 第 1 页 / 共 4 页
字号:
  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 + -