回 帖 发 新 帖 刷新版面

主题:初学  API

for (i = 0 ; i < NUMLINES ; i++)
        
                  {
        
            TextOut       (hdc, 0, cyChar * i,                    
        
                         sysmetrics[i].szLabel,
        
                         lstrlen (sysmetrics[i].szLabel)) ;
        

            TextOut       (hdc, 22 * cxCaps, cyChar * i,    
        
                         sysmetrics[i].szDesc,
        
                         lstrlen (sysmetrics[i].szDesc)) ;
        

                   SetTextAlign (hdc, TA_RIGHT | TA_TOP) ;
        
        TextOut (hdc, 22 * cxCaps + 40 * cxChar, cyChar * i,   szBuffer,
        
    wsprintf (szBuffer, TEXT ("%5d"),
        
    GetSystemMetrics (sysmetrics[i].iIndex))) ;
        
              SetTextAlign (hdc, TA_LEFT | TA_TOP) ;
        
         }
        
这是Windows 程序设计  第四章的例子  
 TextOut (hdc, 22 * cxCaps + 40 * cxChar, cyChar * i,   szBuffer,
        
    wsprintf (szBuffer, TEXT ("%5d"),
        
    GetSystemMetrics (sysmetrics[i].iIndex))) ;
的第二个个参数不明白 
第三条TextOut叙述显示从GetSystemMetrics函数取得的数值。变宽字体使得格式化向右对齐的数值有些棘手。从0到9的数字具有相同的宽度,但是这个宽度比空格宽度大。数值可以比一个数字宽,所以不同的数值应该从不同的横向位置开始。
1 第二条TextOut 可以实现左对齐  为什么第三条TextOut 不行呢?
2数值可以比一个数字宽  这句话中的数值指什么  数字又指什么呢 ?
3 变宽字体使得格式化向右对齐的数值有些棘手  为什么 变宽字体格式化向右对齐有困难呢?

回复列表 (共1个回复)

沙发

MSDN查一下啊

我来回复

您尚未登录,请登录后再回复。点此登录或注册