本文整理汇总了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);
}
示例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++;
}
}
示例3: eraseDataText
void CComputer::eraseDataText(CClientDC &dc)
{
dc.SetTextColor(white);
originalFont = dc.SelectObject(&dataFont);
drawDataText(dc);
dc.SelectObject(&originalFont);
}
示例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);
//.........这里部分代码省略.........
示例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);
}