本文整理汇总了C++中CClientDC::SetTextAlign方法的典型用法代码示例。如果您正苦于以下问题:C++ CClientDC::SetTextAlign方法的具体用法?C++ CClientDC::SetTextAlign怎么用?C++ CClientDC::SetTextAlign使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CClientDC
的用法示例。
在下文中一共展示了CClientDC::SetTextAlign方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: 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);
}