Metode ITextInputPanel::SetInPlacePosition (peninputpanel.h)
[ITextInputPanel tersedia untuk digunakan dalam sistem operasi yang ditentukan di bagian Persyaratan. Ini dapat diubah atau tidak tersedia dalam versi berikutnya. Sebagai gantinya, gunakan IInputPanelConfiguration.
]
Secara eksplisit menempatkan Panel Input PC Tablet dalam koordinat layar.
Sintaks
HRESULT SetInPlacePosition(
int xPosition,
int yPosition,
CorrectionPosition position
);
Parameter
xPosition
Koordinat x horizontal untuk sudut kiri atas Panel Input, tanpa sisir koreksi yang terlihat.
yPosition
Koordinat y vertikal untuk sudut kiri atas Panel Input, tanpa sisir koreksi yang terlihat.
position
Arah sisir koreksi pasca penyisipan harus muncul, seperti yang didefinisikan oleh enumerasi CorrectionPosition .
Nilai kembali
Mengembalikan false ketika Panel Input terbuka (ditambarkan atau mengambang) dan tidak dapat dipindahkan; jika tidak, itu mengembalikan true.
Menampilkan kode | Deskripsi |
---|---|
|
Berhasil. |
|
Terjadi kesalahan yang tidak ditentukan. |
Keterangan
Tidak ada batasan di mana Panel Input dapat diposisikan. Pengembang aplikasi bertanggung jawab untuk memastikan Panel Input tidak keluar dari layar. Properti ITextInputPanel::InPlaceBoundingRectangle, ITextInputPanel::P opUpCorrectionHeight Property, dan ITextInputPanel::P opDownCorrectionHeight Property, bersama dengan ITextInputPanelEventSink::InPlaceSizeChanging Method, dapat digunakan untuk tujuan ini.
Metode ini sinkron. Penempatan terjadi sebelum metode kembali.
Contoh
Contoh C++ ini mengimplementasikan EN_SETFOCUS
penanganan aktivitas untuk kontrol Edit, IDC_EDIT3
. Ini pertama-tama memeriksa apakah objek ITextInputPanel , g_pTip
, telah dibuat. Jika ada, ia melaporkan nilai beberapa properti Antarmuka ITextInputPanel untuk men-debug output menggunakan makro TRACE . Ini juga mengatur posisi Panel Input dengan memanggil Metode 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");
}
}
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows XP Tablet PC Edition [hanya aplikasi desktop] |
Server minimum yang didukung | Tidak ada yang didukung |
Target Platform | Windows |
Header | peninputpanel.h |
DLL | Tiptsf.dll |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk