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

📄 util_gdi.cpp

📁 比较详尽的介绍了短信的发送与接收的实现模块与程序
💻 CPP
字号:

// util_gdi.cpp

#include "stdafx.h"
#include "util_gdi.h"



tag3DPens::tag3DPens()
{
   pPenBlack = new CPen(PS_SOLID, 1, RGB(0,0,0));
   pPenDarkGray = new CPen(PS_SOLID, 1, GetSysColor(COLOR_BTNSHADOW));
   pPenWhite = new CPen(PS_SOLID, 1, RGB(255,255,255));
   pPenGray = new CPen(PS_SOLID, 1, GetSysColor(COLOR_BTNFACE));
}


tag3DPens::~tag3DPens()
{
   delete pPenBlack;
   delete pPenDarkGray;
   delete pPenWhite;
   delete pPenGray;
}




int GfxDraw3DBorder(CDC *pDC, LP3DPENS p3DPens, CRect rectBorder, BOOL bInside)
{
   if(bInside)
   {
      CPen *pOldPen = pDC->SelectObject(p3DPens->pPenDarkGray);

      pDC->MoveTo(rectBorder.left, rectBorder.top);
      pDC->LineTo(rectBorder.right, rectBorder.top);
      pDC->MoveTo(rectBorder.left, rectBorder.top);
      pDC->LineTo(rectBorder.left, rectBorder.bottom);

      pDC->SelectObject(p3DPens->pPenBlack);

      rectBorder.DeflateRect(1, 1);
      pDC->MoveTo(rectBorder.left, rectBorder.top);
      pDC->LineTo(rectBorder.right, rectBorder.top);
      pDC->MoveTo(rectBorder.left, rectBorder.top);
      pDC->LineTo(rectBorder.left, rectBorder.bottom);

      pDC->SelectObject(p3DPens->pPenWhite);

      rectBorder.InflateRect(1, 1);
      pDC->MoveTo(rectBorder.right-1, rectBorder.top);
      pDC->LineTo(rectBorder.right-1, rectBorder.bottom);
      pDC->MoveTo(rectBorder.left, rectBorder.bottom-1);
      pDC->LineTo(rectBorder.right, rectBorder.bottom-1);

      pDC->SelectObject(p3DPens->pPenGray);

      rectBorder.DeflateRect(1, 1);
      pDC->MoveTo(rectBorder.right-1, rectBorder.top);
      pDC->LineTo(rectBorder.right-1, rectBorder.bottom);
      pDC->MoveTo(rectBorder.left, rectBorder.bottom-1);
      pDC->LineTo(rectBorder.right, rectBorder.bottom-1);

      pDC->SelectObject(pOldPen);
   }
   else
   {
      // draw the borders
      CPen *pOldPen = pDC->SelectObject(p3DPens->pPenGray);

      pDC->MoveTo(rectBorder.left, rectBorder.top);
      pDC->LineTo(rectBorder.right, rectBorder.top);
      pDC->MoveTo(rectBorder.left, rectBorder.top);
      pDC->LineTo(rectBorder.left, rectBorder.bottom);

      pDC->SelectObject(p3DPens->pPenWhite);

      rectBorder.DeflateRect(1, 1);
      pDC->MoveTo(rectBorder.left, rectBorder.top);
      pDC->LineTo(rectBorder.right, rectBorder.top);
      pDC->MoveTo(rectBorder.left, rectBorder.top);
      pDC->LineTo(rectBorder.left, rectBorder.bottom);

      pDC->SelectObject(p3DPens->pPenBlack);

      rectBorder.InflateRect(1, 1);
      pDC->MoveTo(rectBorder.right, rectBorder.top);
      pDC->LineTo(rectBorder.right, rectBorder.bottom+1);
      pDC->MoveTo(rectBorder.left, rectBorder.bottom);
      pDC->LineTo(rectBorder.right, rectBorder.bottom);

      pDC->SelectObject(p3DPens->pPenDarkGray);

      rectBorder.DeflateRect(1, 1);
      pDC->MoveTo(rectBorder.right, rectBorder.top);
      pDC->LineTo(rectBorder.right, rectBorder.bottom+1);
      pDC->MoveTo(rectBorder.left, rectBorder.bottom);
      pDC->LineTo(rectBorder.right, rectBorder.bottom);

      pDC->SelectObject(pOldPen);
   }

   return 2;
}



void GfxDrawBorder(CDC *pDC, CRect rectBorder, 
                   CPen *pPen)
{
   CPen *pOldPen = NULL;
   if(pPen)
      pOldPen = pDC->SelectObject(pPen);

   pDC->MoveTo(rectBorder.left, rectBorder.top);
   pDC->LineTo(rectBorder.right-1, rectBorder.top);
   pDC->LineTo(rectBorder.right-1, rectBorder.bottom-1);
   pDC->LineTo(rectBorder.left, rectBorder.bottom-1);
   pDC->LineTo(rectBorder.left, rectBorder.top);

   if(pOldPen)
      pDC->SelectObject(pOldPen);
}


void GfxDrawBorder(CDC *pDC, CRect rectBorder, 
                   COLORREF clFill, CPen *pPen)
{
   CPen *pOldPen = NULL;
   if(pPen)
      pOldPen = pDC->SelectObject(pPen);

   pDC->MoveTo(rectBorder.left, rectBorder.top);
   pDC->LineTo(rectBorder.right-1, rectBorder.top);
   pDC->LineTo(rectBorder.right-1, rectBorder.bottom-1);
   pDC->LineTo(rectBorder.left, rectBorder.bottom-1);
   pDC->LineTo(rectBorder.left, rectBorder.top);

   if(pOldPen)
      pDC->SelectObject(pOldPen);

   CBrush brush(clFill);
   rectBorder.DeflateRect(1,1);

   pDC->FillRect(rectBorder, &brush);
}



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -