設定文字對齊方式
您可以使用 GetTextAlign 和 SetTextAlign 函式來查詢和設定裝置內容的文字對齊方式。 文字對齊設定會決定文字相對於指定位置的位置。 文字可以對齊位置的右或左方,或置中位置;它也可以對齊點的上方或下方。
下列範例顯示用來判斷已設定水準對齊旗標的方法:
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,因為選取的文字未正確轉譯。 如果您必須使用這個旗標,您可以視需要取消設定並重設它,以避免發生問題。