ITextInputPanel::SetInPlacePosition 方法 (peninputpanel.h)
[ITextInputPanel 可用於需求一節中指定的操作系統。 它在後續版本中可能會變更或無法使用。 請改用 IInputPanelConfiguration。
]
明確地將平板電腦輸入面板放在螢幕座標中。
語法
HRESULT SetInPlacePosition(
int xPosition,
int yPosition,
CorrectionPosition position
);
參數
xPosition
輸入面板左上角的水準 X 座標,沒有可見的更正組合。
yPosition
輸入面板左上角的垂直 Y 座標,沒有可見的更正組合。
position
插入后更正組合應該快顯的方向,如 CorrectionPosition 列舉所定義。
傳回值
當輸入面板開啟 (停駐或浮動) 且無法移動時,會傳回 false ;否則會傳回 true。
傳回碼 | 描述 |
---|---|
|
成功。 |
|
發生未指定的錯誤。 |
備註
輸入面板的位置沒有任何限制。 應用程式開發人員必須負責確定輸入面板不會離開畫面。 ITextInputPanel::InPlaceBoundingRectangle 屬性、ITextInputPanel::P opUpCorrectionHeight 属性和 ITextInputPanel::P opDownCorrectionHeight 屬性以及 ITextInputPanelEventSink::InPlaceSizeChanging 方法可用於此目的。
這個方法是同步方法。 位置會在方法傳回之前發生。
範例
這個 C++ 範例會實作 EN_SETFOCUS
編輯控制元件 IDC_EDIT3
的事件處理程式。 它會先檢查是否已建立 ITextInputPanel 物件 g_pTip
。 如果存在,它會報告數個 ITextInputPanel 介面 屬性的值,以使用 TRACE 宏對輸出進行 偵 錯。 它也會藉由呼叫 ITextInputPanel::SetInPlacePosition 方法,來設定輸入面板的位置。
void CCOMTIPDlg::OnEnSetFocusEdit3()
{
if (NULL != g_pTip)
{
CorrectionMode mode;
if (SUCCEEDED(g_pTip->get_CurrentCorrectionMode(&mode)))
{
TRACE("CurrentCorrectionMode: %d\n", mode);
}
InPlaceState state;
if (SUCCEEDED(g_pTip->get_CurrentInPlaceState(&state)))
{
TRACE("CurrentInPlaceState: %d\n", state);
}
PanelInputArea area;
if (SUCCEEDED(g_pTip->get_CurrentInputArea(&area)))
{
TRACE("CurrentInputArea: %d\n", area);
}
InteractionMode iMode;
if (SUCCEEDED(g_pTip->get_CurrentInteractionMode(&iMode)))
{
TRACE("CurrentInteractionMode: %d\n", iMode);
}
RECT rect;
if (SUCCEEDED(g_pTip->get_InPlaceBoundingRectangle(&rect)))
{
TRACE("InPlaceBoundingRectangle.top: %d\n", rect.top);
TRACE("InPlaceBoundingRectangle.left: %d\n", rect.left);
TRACE("InPlaceBoundingRectangle.bottom: %d\n", rect.bottom);
TRACE("InPlaceBoundingRectangle.right: %d\n", rect.right);
}
int nHeight;
if (SUCCEEDED(g_pTip->get_PopDownCorrectionHeight(&nHeight)))
{
TRACE("PopDownCorrectionHeight: %d\n", nHeight);
}
if (SUCCEEDED(g_pTip->get_PopUpCorrectionHeight(&nHeight)))
{
TRACE("PopUpCorrectionHeight: %d\n", nHeight);
}
if (SUCCEEDED(g_pTip->SetInPlacePosition(300, 300, CorrectionPosition_Bottom)))
{
TRACE("Call to SetInPlacePosition() succeeded.\n");
}
else
{
TRACE("Call to SetInPlacePosition() failed.\n");
}
}
else
{
TRACE("ITextInputPanel object is NULL.\n");
}
}
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP Tablet PC Edition [僅限傳統型應用程式] |
最低支援的伺服器 | 都不支援 |
目標平台 | Windows |
標頭 | peninputpanel.h |
Dll | Tiptsf.dll |