ITextInputPanel::SetInPlacePosition メソッド (peninputpanel.h)
[ITextInputPanel は、[要件] セクションで指定されたオペレーティング システムで使用できます。 今後のバージョンでは変更されるか、利用できなくなる場合もあります。 代わりに、 IInputPanelConfiguration を使用します。
]
タブレット PC 入力パネルを画面座標に明示的に配置します。
構文
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
Edit コントロール のイベント ハンドラーを実装します。 最初に、 ITextInputPanel オブジェクト が作成されているかどうかを確認します g_pTip
。 存在する場合は、TRACE マクロを使用して出力をデバッグするために、複数の ITextInputPanel インターフェイス プロパティの値を報告します。 また、 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 タブレット PC エディション [デスクトップ アプリのみ] |
サポートされている最小のサーバー | サポートなし |
対象プラットフォーム | Windows |
ヘッダー | peninputpanel.h |
[DLL] | Tiptsf.dll |