当前位置: 首页>>代码示例>>C++>>正文


C++ CClientDC::SetTextColor方法代码示例

本文整理汇总了C++中CClientDC::SetTextColor方法的典型用法代码示例。如果您正苦于以下问题:C++ CClientDC::SetTextColor方法的具体用法?C++ CClientDC::SetTextColor怎么用?C++ CClientDC::SetTextColor使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在CClientDC的用法示例。


在下文中一共展示了CClientDC::SetTextColor方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: draw

void CComputer::draw(CClientDC &dc)
{
    if (visible){
        if ((isAttacker)||(underAttack)){
            originalPen = dc.SelectObject(&redPen);
            dc.SetTextColor(red);
        }else{
            originalPen = dc.SelectObject(&bluePen);
            dc.SetTextColor(black);
        }
    }else{
        originalPen = dc.SelectObject(&whitePen);
        dc.SetTextColor(white);
    }


    originalFont = dc.SelectObject(&captionFont);
    dc.SetBkMode(TRANSPARENT);
    
    dc.Rectangle(x1,y1,x2,y2);
    if (textPosition == 0){//oben
        dc.TextOut(x1-4*borderWidth,y1-(borderWidth+captionTextSize),name);
    }else{//rechts unten
        dc.TextOut(x2+3*borderWidth,y2+borderWidth-captionTextSize,name);
    }
    
    drawDataText(dc);

    dc.SelectObject(&originalFont);
    dc.SelectObject(&originalPen);
}
开发者ID:flomar,项目名称:CrypTool-VS2015,代码行数:31,代码来源:Computer.cpp

示例2: draw

void CListSelector::draw(CClientDC &dc, int orgX, int orgY, int width, int height)
{
    
    
    list<CSelectorItem>::iterator iter;
    
    int y0 = orgY;
    int y1 = orgY;
    
    int x0 = orgX;
    int x1 = orgX + width;

    
    //dc.Rectangle(orgX,orgY,orgX + width,orgY + height);
    
    int size=this->itemList.size();

    //dc.LineTo(x1,y1);
    int count=9;
    int start=4;
    int isNeedBreak=FALSE;

    int j=0;

    for(int i= -4 + focusIndex ; 
        i<= 4 + focusIndex;
        i++)
    {

        y0 = orgY + (j)*40;
        y1 = y0 + 40;
        CRect rect2(x0, y0+1, x1, y1);
        dc.Rectangle(&rect2);

        if(i==focusIndex)
        {
            CBrush *p=new CBrush();
            p->CreateSolidBrush(RGB(200,0,000));
            dc.FillRect(&rect2,p);
            dc.SetTextColor(RGB(255,255,255));
            delete p;
        }else{
            dc.SetTextColor(RGB(0,0,0));
        }

        int index = 0;
        if(i<0){
            index = (size*0X100000 + i) % size  ;
        }else{
            index=i % size ;
        }

        CString str(itemList[ index  ].getValue().c_str());		
        dc.DrawText(str,&rect2,DT_CENTER|DT_VCENTER|DT_SINGLELINE);
        j++;
    
    }	
    
}
开发者ID:philipgreat,项目名称:cplusplus-windows-test-apps,代码行数:59,代码来源:ListSelector.cpp

示例3: eraseDataText

void CComputer::eraseDataText(CClientDC &dc)
{
    dc.SetTextColor(white);
    originalFont = dc.SelectObject(&dataFont);
    drawDataText(dc);
    dc.SelectObject(&originalFont);
}
开发者ID:flomar,项目名称:CrypTool-VS2015,代码行数:7,代码来源:Computer.cpp

示例4: CPen

STDMETHODIMP CMyCom1::DrawOffset(unsigned long m_pDC, unsigned long m_pOffset, double m_Scale, unsigned long m_pGraphInfo, BOOL scale_flag, BOOL m_active_flag)
{
    AFX_MANAGE_STATE(AfxGetStaticModuleState())

    // TODO: Add your implementation code here
    CClientDC * pDC = (CClientDC*) m_pDC;
    GraphInfo * pGraphInfo;

    //设置
    if ( m_pGraphInfo != NULL )
    {
        pGraphInfo = (GraphInfo*)m_pGraphInfo;
        m_GraphInfo.SetGraphInfo(*pGraphInfo);
    }
    else
        pGraphInfo = &m_GraphInfo;
    
        
    //计算偏移量
    if ( m_pOffset != NULL )
    {
        CPoint * offset = (CPoint *)m_pOffset;
        OffsetRgn((unsigned long)offset);
    }

    //设置激活标志
    isActive = m_active_flag;

    double scale = 0;
    m_scale_flag = scale_flag;
    if ( m_scale_flag )
        scale = m_Scale;
    else
        scale = 1;

    CFont * sysFont = pDC->SelectObject(&(pGraphInfo->font));
    CPen * pen = new CPen( pGraphInfo->normal_penStyle, pGraphInfo->normal_linewidth, pGraphInfo->normal_linecolor );	//构造画笔
    CPen * sysPen = pDC->SelectObject(pen);
    CBrush * normalBrush = new CBrush( pGraphInfo->normal_regioncolor );	//普通显示的画刷
    CBrush * activeBrush = new CBrush( pGraphInfo->active_regioncolor );	//激活后的画刷
    CBrush * blackBrush = new CBrush( BLACKBRUSHCOLOR );
    
    CRgn outRgn;
    outRgn.CreateRectRgn(0, 0, 5, 5);
    CRect smallRect;
    
    //判断是否激活了,如果激活,添加outRect
    if ( isActive )	//激活
    {
        if ( m_scale_flag )	//如果是在modelview区域
        {
            //选中后,在外边画一个方框
            outRgn.CombineRgn(&upRgn, &downRgn, RGN_OR);
            outRgn.GetRgnBox(&outRect);
            outRect.InflateRect(5, 5);
            
            pDC->MoveTo(outRect.left, outRect.top);
            pDC->LineTo(outRect.right, outRect.top);
            pDC->LineTo(outRect.right, outRect.bottom);
            pDC->LineTo(outRect.left, outRect.bottom);
            pDC->LineTo(outRect.left, outRect.top);

            //画出upRgn, downRgn, 和连线
            //pDC->FillRgn(&upRgn, normalBrush);
            CRect upRect;
            upRgn.GetRgnBox(upRect);
            pDC->Rectangle(upRect);
            pDC->MoveTo(upPoints[2]);
            pDC->LineTo(upPoints[5]);

            pDC->MoveTo(topPoint);
            pDC->LineTo(bottomPoint);
            pDC->MoveTo(leftPoint);
            pDC->LineTo(rightPoint);
            pDC->FillRgn(&downRgn, normalBrush);

            inRect.SetRect(upPoints[0].x, upPoints[0].y, upPoints[2].x, upPoints[2].y);
            pDC->SetTextColor(pGraphInfo->textcolor);
            pDC->DrawText(m_name, inRect, TEXTOUTFOMAT);	//|DT_END_ELLIPSIS);
                        
            //在矩形的角上,画四个小矩形,5*5象素
            smallRect.SetRect(outRect.left, outRect.top, outRect.left+5, outRect.top+5);
            pDC->FillRect(smallRect, blackBrush);
            smallRect.SetRect(outRect.right-5, outRect.top, outRect.right, outRect.top+5);
            pDC->FillRect(smallRect, blackBrush);
            smallRect.SetRect(outRect.right-5, outRect.bottom-5, outRect.right, outRect.bottom);
            pDC->FillRect(smallRect, blackBrush);
            smallRect.SetRect(outRect.left, outRect.bottom-5, outRect.left+5, outRect.bottom);
            pDC->FillRect(smallRect, blackBrush);
        }
        else	//如果是在comview区域
        {
            //选中后,在外边画一个方框
            downRgn.GetRgnBox(&outRect);
            outRect.InflateRect(5, 5);

            pDC->MoveTo(outRect.left, outRect.top);
            pDC->LineTo(outRect.right, outRect.top);
            pDC->LineTo(outRect.right, outRect.bottom);
            pDC->LineTo(outRect.left, outRect.bottom);
//.........这里部分代码省略.........
开发者ID:KnowNo,项目名称:backup,代码行数:101,代码来源:MyCom1.cpp

示例5: OnTimer

void CGameView::OnTimer(UINT_PTR nIDEvent)
{
    // 심장소리 음악
    if (!gv_min && gv_sec < 10 && !gv_timeDV){	// 분이 0이고 초가 10초 미만일 때 시간제한 음악 켬
        StopSounds (gv_bgDV) ;
        PlaySounds (gv_timeDV) ;
    }

    CClientDC dc (this) ;
    CRect rect ;
    GetClientRect (&rect) ;
    CFont myFont, *pOldFont ;
    CString str;
    
    // Text 설정 Part
    myFont.CreateFont (25, 0, 0, 0, FW_BOLD, true, false, false, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH, gv_font) ;
    pOldFont =dc.SelectObject (&myFont) ;
    dc.SetBkColor (gv_bgColor) ;		// 글자의 배경은 바탕과 같이 
    dc.SetTextColor (0x00FFFFFF & ~gv_bgColor) ;		// 글자 색을 바탕화면의 반대 색으로

    // 시간에 따른 출력부
    if (!gv_scoreTF) {
        if (gv_min < 10 && gv_min) gv_minStr.Format (_T(" 0%d"), gv_min) ;
        else if (!gv_min) gv_minStr.Format (_T (" 00")) ;
        else gv_minStr.Format (_T (" %d"), gv_min) ;
        
        if (gv_sec < 10 && gv_sec) gv_secStr.Format (_T("0%d"), gv_sec) ;
        else if (!gv_sec) gv_secStr.Format (_T ("00")) ;
        else gv_secStr.Format (_T ("%d"), gv_sec) ;

        if (gv_csec < 10 && gv_csec) gv_csecStr.Format (_T("0%d"), gv_csec) ;
        else if (!gv_csec) gv_csecStr.Format (_T ("00")) ;
        else gv_csecStr.Format (_T ("%d"), gv_csec) ;

        str.Format (_T (" %s : %s : %s "), gv_minStr, gv_secStr, gv_csecStr) ;
        dc.SetTextAlign (TA_RIGHT) ;
        dc.TextOutW (rect.Width () -20, rect.top +45, str) ;

        // 초계산
        if (--gv_csec < 0) {
            if (!gv_min && !gv_sec) OnSuccess () ;
            gv_csec =99 ;
            gv_sec-- ;
            pTimeDlg ->timeCtrl.StepIt () ;		// 초가 줄때마다 실행
        }
        if (gv_sec < 0 && gv_min) {
            gv_sec =59 ;
            gv_min-- ;
        }

        // 카운트 출력
        str.Format (_T (" CLICK COUNT : %u "), gv_cnt) ;
        dc.TextOutW (rect.Width () -20, rect.top +20, str) ;

        // 점수 출력
        dc.SetTextAlign (TA_CENTER) ;
        str.Format (_T (" Score : %u "), gv_point) ;
        dc.TextOutW (rect.Width () /2, rect.top +25, str) ;
    }
    else {
        while (gv_tempMin-- > 0) gv_tempSec +=60 ;		// 분이 남아 있다면 초로 옮김
        // 시간 감소 및 포인트 증가
        if (gv_tempSec > 0) {					// 초가 0보다 클때까지
            gv_point+=3 ; gv_tempSec-- ;			// 점수는 3증가 초는 1증감
            pTimeDlg ->timeCtrl.StepIt () ;
            dc.SetTextAlign (TA_CENTER) ;
            str.Format (_T (" Score :%u "), gv_point) ;	
            dc.TextOutW (rect.Width () /2 , rect.top +25, str) ;
        }
    }
    dc.SelectObject (myFont) ;
    myFont.DeleteObject () ;
    CView::OnTimer(nIDEvent);
}
开发者ID:astroluj,项目名称:MFC,代码行数:74,代码来源:GameView.cpp


注:本文中的CClientDC::SetTextColor方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。