windows程序设计文本对齐——SetTextAlign,TMD,怎么是反的?
caseWM_PAINT:hdc=BeginPaint(hwnd,&ps);for(i=0;i<NUMLINES;i++){y=cyChar*(i-iVscrollPos...
case WM_PAINT:
hdc = BeginPaint (hwnd, &ps) ;
for (i = 0 ; i < NUMLINES ; i++)
{
y = cyChar * (i - iVscrollPos) ;
TextOut (hdc, 150, y,
sysmetrics[i].szLabel,
lstrlen (sysmetrics[i].szLabel)) ;
TextOut (hdc, 150+22 * cxCaps, y,
sysmetrics[i].szDesc,
lstrlen (sysmetrics[i].szDesc)) ;
SetTextAlign (hdc, TA_RIGHT| TA_TOP) ;
TextOut (hdc, 150+22 * cxCaps + 40 * cxChar, y, szBuffer,
wsprintf (szBuffer, TEXT ("%5d"),
GetSystemMetrics (sysmetrics[i].Index))) ;
SetTextAlign (hdc, TA_RIGHT| TA_TOP) ;
}
RIGHT是左,TOP是右,日也!“限定矩形”是哪个啊? 展开
hdc = BeginPaint (hwnd, &ps) ;
for (i = 0 ; i < NUMLINES ; i++)
{
y = cyChar * (i - iVscrollPos) ;
TextOut (hdc, 150, y,
sysmetrics[i].szLabel,
lstrlen (sysmetrics[i].szLabel)) ;
TextOut (hdc, 150+22 * cxCaps, y,
sysmetrics[i].szDesc,
lstrlen (sysmetrics[i].szDesc)) ;
SetTextAlign (hdc, TA_RIGHT| TA_TOP) ;
TextOut (hdc, 150+22 * cxCaps + 40 * cxChar, y, szBuffer,
wsprintf (szBuffer, TEXT ("%5d"),
GetSystemMetrics (sysmetrics[i].Index))) ;
SetTextAlign (hdc, TA_RIGHT| TA_TOP) ;
}
RIGHT是左,TOP是右,日也!“限定矩形”是哪个啊? 展开
展开全部
看下你函数中是否调用了SetMapMode,这个函数会改变窗口矩阵的映射方式。
更多追问追答
追问
第一个SetTextAlign函数是对哪段文本进行操作。第二个SetTextAlign呢?“限定矩形”指的又是什么?我自学c和c++,到现在才1个月, 我学完语法和关键字,直接来学windows程序,郁闷死了读到这个函数,不知道这个函数是让CPU做什么动作。他是对他上方的那段文本操作还是对下方的?能不能画个图来说明下,谢谢!
哎,我从上小学一年级到现在,还是第一次遇到问题找人帮忙,郁闷,郁闷!!!
追答
SetTextAlign函数不是对文本进行操作,而是对HDC的属性进行设置。设置后使用该HDC进行绘图将会使用新的属性。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询