ITextServices::TxGetNaturalSize 方法 (textserv.h)
允許調整控制件的大小,使其適當地符合其內容。
語法
HRESULT TxGetNaturalSize(
DWORD dwAspect,
HDC hdcDraw,
HDC hicTargetDev,
DVTARGETDEVICE *ptd,
DWORD dwMode,
const SIZEL *psizelExtent,
[in, out] LONG *pwidth,
[in, out] LONG *pheight
);
參數
dwAspect
類型: DWORD
繪圖的層面。 它可以是 DVASPECT 列舉中的任何值。
hdcDraw
類型: HDC
繪製所在的裝置內容。
hicTargetDev
類型: HDC
應針對 WYSIWYG) (格式化文字的裝置內容。
ptd
類型: DVTARGETDEVICE*
目標裝置的詳細資訊。
dwMode
類型: DWORD
要求的配接類型。 它可以是下列其中一項。
值 | 意義 |
---|---|
|
使用英文計量單位 (EMU) ,而不是像素作為此方法參數的測量單位。 |
|
將文字格式化為傳入的寬度,以調整控件的大小以符合整個文字。 文字服務對象會傳回整個文字的高度和最寬線條的寬度。
例如,當使用者按兩下其中一個控件的句柄時,應該這樣做。 |
|
調整控制元件的大小,使其符合縮排的內容。 |
|
調整控制元件的大小,使其符合縮排的內容和尾端空格符。 |
|
調整控制元件的大小,使其符合未輸入的內容和尾端空格符。 |
|
如果是純文字控件,請在計算大小時包含最終歸位字元的高度。 |
|
調整控制元件的大小以顯示整數行數, (沒有裁剪任何行) 。 格式化足夠的文字來填入傳入的寬度和高度,然後傳回四捨五入到最接近線條界限的高度。
注意 傳遞和傳回的寬度和高度會對應至檢視矩形。 主機應該視需要調整回用戶端矩形。 由於這些值代表文字物件的範圍,因此它們是 HIMETRIC 座標中的輸入和輸出, (每個 HIMETRIC 單位為 .01 公厘) ,而且測量不包含任何縮放因數。 如需縮放因數的討論,請參閱 TxGetExtent。
|
psizelExtent
類型: const SIZEL*
不支援。
[in, out] pwidth
類型: LONG*
dwMode 所定義的調整寬度。
[in, out] pheight
類型: LONG*
dwMode 所定義之配適的高度。
傳回值
類型: HRESULT
如果方法成功,傳回值會 S_OK。
如果文字服務無法啟動物件,則傳回值是下列其中一個 HRESULT 代碼。 如需 COM 錯誤碼的詳細資訊,請參閱 COM 中的錯誤處理。
傳回碼 | Description |
---|---|
|
無法判斷正確的大小。 |
|
一或多個自變數無效。 |
|
記憶體不足。 |
備註
前四個參數類似於 ITextServices::TxDraw 中的對等參數,並提供相同的資訊。 在必須重新計算行的情況下,應該使用與 ITextServices::TxDraw 相同的方式使用這些值。
pwidth 和 pheight 參數是 in/out 參數。 主機會傳入文字物件自然範圍的暫訂寬度和高度。 文字服務對象會比較這些值與其目前快取的狀態,如果不同,則會重新計算行。 然後,它會計算並傳回 由 dwMode 指定的自然大小。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | textserv.h |
Dll | Msftedit.dll |
另請參閱
概念
其他資源
參考