乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      VC中繪制粗虛線

       香山早秋 2011-07-23
      以前很少畫虛線,因此不太關心繪制粗虛線該怎么辦。最近需要用到這個功能,因此學習了一下,與大家共享。

      CPen類有兩個構(gòu)造函數(shù),我們經(jīng)常用第一個,而忽略了第二個。其實很多網(wǎng)友問到畫粗線時希望改變線頭的默認顯示方式,比如希望是圓弧頭而不是默認的方形頭等。都可以用這個構(gòu)造函數(shù)定義的CPen對象來實現(xiàn)。

      這里我主要說一下繪制粗虛線,其它的都可以通過MSDN上的幫助來了解。

      函數(shù)原型:

      BOOL CreatePen(
         int nPenStyle,
         int nWidth,
         const LOGBRUSH* pLogBrush,
         int nStyleCount = 0,
         const DWORD* lpStyle = NULL
      );

      參數(shù)說明我就不做MSDN的翻譯了。直接舉例說明使用方法。

      這是MSDN得例子:

      LOGBRUSH logBrush;
      logBrush.lbStyle = BS_SOLID;
      logBrush.lbColor = #00ff00;
      myPen2.CreatePen(PS_DOT|PS_GEOMETRIC|PS_ENDCAP_ROUND, 2, &logBrush);

      用這樣的畫筆就可以繪制2個像素寬的粗點虛線,而且線頭是圓的。

      這里要特別說一下構(gòu)造函數(shù)中的最后兩個參數(shù),它們是用來進行自定義虛線繪制方法的。我們知道默認的虛線有點線,點劃線等,這都是固定的。通過最后兩 個參數(shù)的設置,可以自定義虛線的樣式。nStyleCount是指最后一個參數(shù)中DWORD的數(shù)量;而最后一個參數(shù)中DWORD的數(shù)量是2的倍數(shù),其中每 兩個為一組,第一個表示點的長度,第二個表示點之后的空長度。舉例如下:

       CPen newPen;
       LOGBRUSH logBrush;
       logBrush.lbStyle = BS_SOLID;
       logBrush.lbColor = m_Sec.lColor;
       DWORD dwF[4];
       dwF[0] = 1;
       dwF[1] = m_Sec.lWidth*2;
       dwF[2] = 1;
       dwF[3] = m_Sec.lWidth*4;
       newPen.CreatePen(PS_USERSTYLE|PS_GEOMETRIC|PS_ENDCAP_ROUND, m_Sec.lWidth, &logBrush,4,dwF);

       CPen * oldPen=pDC->SelectObject(&newPen);

       CBrush newBrush;
       if(0==m_Sec.sTexture)
        newBrush.CreateSolidBrush(m_Sec.sColor);
       else
        newBrush.CreateHatchBrush(m_Sec.sTexture,m_Sec.sColor);

       CBrush * oldBrush=pDC->SelectObject(&newBrush);
       
          pDC->Pie(m_Sec.leftx,m_Sec.lefty,m_Sec.rightx,m_Sec.righty,
        m_Sec.startx,m_Sec.starty,m_Sec.endx,m_Sec.endy);

       pDC->SelectObject(oldPen);
       pDC->SelectObject(oldBrush);

      如此就可以繪制出一組點線,其中前兩個點間隔是2倍線寬,第二第三點間隔是4倍線寬,如此循環(huán)。

      繪制粗虛線 - danshiming - danshiming的博客

        本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多