Share via


設定文字對齊方式

您可以使用 GetTextAlignSetTextAlign 函式來查詢和設定裝置內容的文字對齊方式。 文字對齊設定會決定文字相對於指定位置的位置。 文字可以對齊位置的右或左方,或置中位置;它也可以對齊點的上方或下方。

下列範例顯示用來判斷已設定水準對齊旗標的方法:

switch ((TA_LEFT | TA_RIGHT | TA_CENTER) & GetTextAlign(hdc)) 
{ 
    case TA_LEFT: 
       . 
       . 
       . 
    case TA_RIGHT: 
       . 
       . 
       . 
    case TA_CENTER: 
       . 
       . 
       . 
} 

您也可以使用 SetTextAlign 函式,在呼叫文字輸出函式時更新目前的位置。 例如,下列範例會使用 SetTextAlign 函式來更新 呼叫 TextOut 函式時的目前位置。 在此範例中, cArial 參數是指定 Arial 字型數目的整數。

UINT uAlignPrev; 
char szCount[8];
HRESULT hr;
size_t * pcch; 
 
uAlignPrev = SetTextAlign(hdc, TA_UPDATECP); 
MoveToEx(hdc, 10, 50, (LPPOINT) NULL); 
TextOut(hdc, 0, 0, "Number of Arial fonts: ", 23); 
itoa(cArial, szCount, 10); 

hr = StringCchLength(szCount, 9, pcch);
if (FAILED(hr))
{
// TODO: write error handler 
}
 
TextOut(hdc, 0, 0, (LPSTR) szCount, *pcch); 
SetTextAlign(hdc, uAlignPrev); 

注意

當您使用ScriptStringOut時,不應該搭配使用SetTextAlign與 TA_UPDATECP,因為選取的文字未正確轉譯。 如果您必須使用這個旗標,您可以視需要取消設定並重設它,以避免發生問題。