Bagikan melalui


Struktur IMESTRUCT (ime.h)

Digunakan oleh SendIMEMessageEx untuk menentukan subfungsi yang akan dijalankan dalam pesan Editor Metode Input (IME) dan parameternya. Struktur ini juga digunakan untuk menerima nilai pengembalian dari subfungsi tersebut.

Sintaks

typedef struct tagIMESTRUCT {
  UINT   fnc;
  WPARAM wParam;
  UINT   wCount;
  UINT   dchSource;
  UINT   dchDest;
  LPARAM lParam1;
  LPARAM lParam2;
  LPARAM lParam3;
} IMESTRUCT, *PIMESTRUCT, *NPIMESTRUCT, *LPIMESTRUCT;

Anggota

fnc

Sebuah subfungsi. Salah satu nilai berikut.

IME_ENTERWORDREGISTERMODE

Digunakan untuk mendaftarkan kata-kata. Kata-kata terdaftar sebagai aplikasi mengirimkan kata dan pembacaannya. Anggota struktur ditafsirkan sebagai berikut:

Anggota Jenis Deskripsi
lParam1 [Windows 3.1] LPARAM Kata berurutan rendah menentukan handel ke memori global yang berisi string kata yang berakhiran dengan 0. Memori global adalah blok memori yang dialokasikan dengan menentukan bendera GMEM_MOVEABLE dan GMEM_SHARE dalam fungsi GlobalAlloc .
lParam2 [Windows 3.1] LPARAM Kata berurutan rendah menentukan handel ke memori global yang berisi string bacaan yang berakhiran dengan 0. Memori global adalah blok memori yang dialokasikan dengan menentukan bendera GMEM_MOVEABLE dan GMEM_SHARE dalam fungsi GlobalAlloc
lParam3 [Windows 3.1] LPARAM Harus NULL.
lParam1 [Windows NT] LPARAM Menentukan handel ke memori global yang berisi string kata yang diakhir dengan 0. Memori global adalah blok memori yang dialokasikan dengan menentukan bendera GMEM_MOVEABLE dan GMEM_SHARE dalam fungsi GlobalAlloc .
lParam2 [Windows NT] LPARAM Menentukan handel ke memori global yang berisi string bacaan yang diakhir dengan 0. Memori global adalah blok memori yang dialokasikan dengan menentukan bendera GMEM_MOVEABLE dan GMEM_SHARE dalam fungsi GlobalAlloc .
lParam3 [Windows NT] LPARAM Digunakan untuk menentukan informasi tentang bagian dari ucapan. Karena informasi tersebut tidak dapat ditentukan dengan spesifikasi Windows saat ini, NULL diatur di sini.
 

Nilai yang dikembalikan menunjukkan hasil pendaftaran kata. TRUE jika pendaftaran telah diproses secara normal; jika tidak, FALSE.

Jika informasi seperti bagian dari ucapan diperlukan, kotak dialog harus ditampilkan untuk meminta input kepada pengguna. NULL dapat ditentukan dalam anggota lParam1 dan lParam2; dalam hal ini, tidak ada yang harus ditampilkan di bidang entri terkait dalam kotak dialog.

IME_GETCONVERSIONMODE

Memperoleh mode konversi IME saat ini. Subprogram ini tidak menggunakan parameter.

Ini sama dengan IME_GET_MODE.

Mengembalikan mode konversi IME saat ini sebagai kombinasi IME_MODE_ALPHANUMERIC ke IME_MODE_NOCODEINPUT. Mode konversi adalah sebagai berikut:

Mode Konversi Mode
IME_MODE_ALPHANUMERIC Alfanumerik
IME_MODE_KATAKANA Katakana
IME_MODE_HIRAGANA Hiragana
IME_MODE_SBCSCHAR Karakter byte tunggal
IME_MODE_DBCSCHAR Karakter byte ganda
IME_MODE_ROMAN Karakter Romawi
IME_MODE_NOROMAN Karakter non-Romawi
IME_MODE_CODEINPUT Input kode
IME_MODE_NOCODEINPUT Input non-kode
 

IME_GET_MODE

Sama seperti IME_GETCONVERSIONMODE.

IME_MOVECONVERTWINDOW

Sama seperti IME_SETCONVERSIONWINDOW.

IME_SETCONVERSIONFONTEX

Font yang akan digunakan untuk menampilkan string yang tidak ditentukan yang muncul di jendela konversi. Anggota struktur ditafsirkan sebagai berikut:

Anggota Jenis Deskripsi
lParam1 [Windows 3.1] LPARAM Kata berurutan rendah menentukan handel ke memori global yang berisi struktur LOGFONT yang menentukan font logis. Memori global adalah blok memori yang dialokasikan dengan menentukan bendera GMEM_MOVEABLE dan GMEM_SHARE dalam fungsi GlobalAlloc . NULL menunjukkan font sistem.
lParam1 [Windows NT] LPARAM Menentukan handel ke memori global yang berisi struktur LOGFONT yang menentukan font logis. Memori global adalah blok memori yang dialokasikan dengan menentukan bendera GMEM_MOVEABLE dan GMEM_SHARE dalam fungsi GlobalAlloc . NULL menunjukkan font sistem.
 

Subfungsi ini tidak memiliki nilai pengembalian.

Font yang ditentukan oleh IME_SETCONVERSIONFONTEX hanya dapat digunakan untuk menampilkan string yang tidak ditentukan.

Untuk menampilkan string yang tidak ditentukan pada posisi default, gunakan font sistem. Jika posisi tampilan tidak lagi menjadi posisi default, aktifkan font yang ditentukan sebelumnya.

Memori global yang berisi struktur LOGFONT dirilis oleh aplikasi.

Jika IME yang saat ini menampilkan jendela konversi menerima perintah IME_SETCONVERSIONFONTEX , dan sebagai hasil dari perintah yang memproses jendela konversi telah berubah, IME harus mengirim pesan WM_IME_REPORT:IR_CHANGECONVERT. Pesan ini tidak boleh dikirim jika font yang ditentukan oleh IME_SETCONVERSIONFONTEX sama dengan yang digunakan oleh IME.

IME_SETCONVERSIONMODE

Mengatur mode konversi IME. Anggota wParam menentukan satu atau beberapa nilai berikut:

Nilai Makna
IME_MODE_ALPHANUMERIC Mode konversi alfanumerik. Nilai ini tidak dapat digunakan dengan IME_MODE_KATAKANA atau IME_MODE_HIRAGANA.
IME_MODE_KATAKANA Mode konversi Katakana. Nilai ini tidak dapat digunakan dengan IME_MODE_ALPHANUMERIC atau IME_MODE_HIRAGANA.
IME_MODE_HIRAGANA Mode konversi Hiragana. Nilai ini tidak dapat digunakan dengan IME_MODE_ALPHANUMERIC atau IME_MODE_HIRAGANA.
IME_MODE_SBCSCHAR Mode konversi karakter byte tunggal. Parameter ini tidak dapat digunakan dengan IME_MODE_DBCSCHAR.
IME_MODE_DBCSCHAR Mode konversi karakter byte ganda. Parameter ini tidak dapat digunakan dengan IME_MODE_SBCSCHAR.
IME_MODE_ROMAN Mode konversi karakter Romawi. Parameter ini tidak dapat digunakan dengan IME_MODE_NOROMAN.
IME_MODE_NOROMAN Mode konversi karakter non-Romawi. Parameter ini tidak dapat digunakan dengan IME_MODE_ROMAN.
IME_MODE_CODEINPUT Mode konversi input kode. Parameter ini tidak dapat digunakan dengan IME_MODE_NOCODEINPUT. Bagaimana IME beroperasi dalam mode input kode tergantung pada IME tertentu.
IME_MODE_NOCODEINPUT Mode konversi input nonkode. Parameter ini tidak dapat digunakan dengan IME_MODE_CODEINPUT.
 

Nilai yang dikembalikan menunjukkan apakah mode konversi yang diberikan telah berhasil disiapkan. Ini mengembalikan status mode konversi yang sebelumnya berlaku jika mode konversi baru telah disiapkan; jika tidak, NULL.

IME_SETCONVERSIONWINDOW

Ukuran dan posisi persegi panjang pembatas untuk IME, dan posisi awal jendela konversi. IME menampilkan string yang tidak ditentukan pada posisi yang ditentukan oleh subfungsi ini.

Anggota wParam menentukan salah satu nilai berikut:

Nilai Makna
MCW_DEFAULT Menampilkan jendela konversi pada posisi default, yang biasanya merupakan bagian bawah layar.

Jika gaya MCW_DEFAULT ditentukan dalam pesan IME_SETCONVERSIONWINDOW, maka ketika IME menampilkan atau menggambar jendela konversi pada posisi default, ia tidak boleh mengirim pesan IR_OPENCONVERT, IR_CHANGECONVERT, IR_FULLCONVERT, atau IR_CLOSECONVERT.

MCW_WINDOW Menampilkan jendela konversi pada koordinat yang diberikan di anggota lParam1 , di jendela yang ditentukan dalam parameter wParam dari pesan WM_CONVERTREQUEST atau WM_CONVERTREQUESTEX. Nilai dalam lParam1 menunjukkan koordinat relatif terhadap sudut kiri atas jendela, dengan kata urutan rendah yang mewakili koordinat X dan kata urutan tinggi koordinat Y. Persegi panjang pembatas adalah persegi panjang klien dari jendela yang diberikan dan merupakan cara paling khas untuk memanggil konversi kana-ke-kanji.

Jika gaya MCW_WINDOW ditentukan dalam pesan IME_SETCONVERSIONWINDOW, IME harus mengirim pesan IR_OPENCOVERT jika status jendela konversi telah berubah dari tertutup menjadi terbuka. Jika status jendela konversi telah berubah dari terbuka menjadi tertutup, IME harus mengirim pesan IR_CLOSECONVERT. Namun, ada pengecualian. Lihat IME_WINDOWUPDATE untuk detailnya.

MCW_WINDOW | MCW_RECT Sama seperti MCW_WINDOW kecuali bahwa persegi panjang pembatas ditentukan oleh anggota lParam2 dan lParam3 . Anggota lParam2 menentukan titik kiri atas dan lParam3 menentukan titik kanan bawah, masing-masing dengan kata urutan rendah yang mewakili koordinat X dan kata urutan tinggi koordinat Y. Koordinat relatif terhadap kiri atas jendela.
MCW_SCREEN Menampilkan jendela konversi dengan sudut kiri atas yang ditunjuk oleh anggota lParam1 . Anggota lParam1 menunjukkan koordinat absolut dengan asal di sudut kiri atas layar. Kata urutan rendah mewakili koordinat X dan kata urutan tinggi koordinat Y. Persegi panjang pembatas adalah layar penuh.

Jika gaya MCW_SCREEN ditentukan dalam pesan IME_SETCONVERSIONWINDOW, IME harus mengirim pesan IR_OPENCOVERT jika status jendela konversi telah berubah dari tertutup menjadi terbuka. Jika status jendela konversi telah berubah dari terbuka menjadi tertutup, IME harus mengirim pesan IR_CLOSECONVERT. Namun, ada pengecualian. Lihat IME_WINDOWUPDATE untuk detailnya.

MCW_SCREEN | MCW_RECT Sama seperti MCW_SCREEN kecuali bahwa persegi panjang pembatas ditentukan oleh anggota lParam2 dan lParam3 . Anggota lParam2 menentukan titik kiri atas dan lParam3 menentukan titik kanan bawah, masing-masing dengan kata urutan rendah yang mewakili koordinat X dan kata urutan tinggi koordinat Y. Koordinat adalah koordinat absolut dengan asal di kiri atas layar.
MCW_HIDDEN [Windows 3.1] Ketika bendera ini ditentukan, IME tidak menampilkan jendela konversi. Sebaliknya, aplikasi itu sendiri menampilkan string yang tidak ditentukan. Anggota lParam1 menentukan koordinat posisi kursor yang ditampilkan oleh aplikasi atau tempat menarik. Anggota lParam2 dan lParam3 menentukan wilayah di mana tidak ada tampilan yang diaktifkan oleh IME. IME yang menampilkan kandidat string yang ditentukan di jendela pop-up dapat menggunakan potongan informasi ini untuk menentukan tempat menampilkan jendela kandidat string yang ditentukan. Jendela untuk menampilkan string kandidat dianggap sebagai jendela sistem. Oleh karena itu, ini tergantung pada IME mengenai apakah akan menampilkan jendela seperti itu, di mana dan bagaimana menampilkan jendela, dan input keyboard apa yang akan digunakan. Tiga anggota lParam1, lParam2, dan lParam3, menentukan koordinat absolut dari kiri atas layar, masing-masing dengan kata urutan rendah yang mewakili koordinat X dan kata urutan tinggi koordinat Y.

Ketika bendera MCW_HIDDEN ditentukan, IME mengirim pesan IR_UNDETERMINE untuk meminta agar aplikasi menampilkan string yang tidak ditentukan. Aplikasi itu sendiri menampilkan string yang tidak ditentukan yang terkandung dalam pesan ini.

Setelah bendera MCW_HIDDEN ditentukan, IME tidak mengirim pesan IR_OPENCONVERT, IR_CHANGECONVERT, atau IR_CLOSECONVERT.

Jika aplikasi menentukan MCW_HIDDEN dan, pada saat yang sama, meminta persegi panjang terlalu besar untuk menampilkan jendela kandidat untuk string yang ditentukan, itu harus diperlakukan sebagai kesalahan. Kode kesalahan harus IME_RD_TOOLONG.

Jika gaya MCW_HIDDEN ditentukan dalam pesan IME_SETCONVERSIONWINDOW, IME tidak boleh mengirim IR_OPENCONVERT, IR_CHANGECONVERT, IR_FULLCONVERT, atau IR_CLOSECONVERT.

MCW_VERTICAL Memberi tahu IME bahwa aplikasi menampilkan string karakter dalam format penulisan vertikal. Jika bendera ini ditentukan, jendela konversi ditampilkan untuk penulisan vertikal, dengan posisi yang ditunjuk oleh anggota lParam1 menjadi sudut kanan atas. Bendera ini dapat ditentukan dengan MCW_WINDOW, MCW_WINDOW|MCW_RECT, MCW_SCREEN, atau MCW_SCREEN|MCW_RECT. IME harus mendukung MCW_VERTICAL. Jika MCW_VERTICAL ditentukan dan font yang dipilih bukan untuk penulisan vertikal, IME menggunakan font penulisan vertikal default. Font default ini dibuat sebagai berikut:
  1. Informasi font diambil dalam struktur LOGFONT oleh fungsi GetObject menggunakan handel font SYSTEM_FONT.
  2. Font dibuat dengan menambahkan ampersand (@) di awal nama wajah dan mengatur escapement dan orientasi ke 270 derajat.
 

Nilai yang dikembalikan menunjukkan apakah perintah telah dijalankan. TRUE jika eksekusi perintah berhasil; jika tidak, FALSE.

Jika string yang tidak ditentukan tampaknya meluapkan persegi panjang pembatas, IME harus mengeluarkan pesan laporan WM_IME_REPORT:IR_FULLCONVERT ke aplikasi sebelum menampilkan string tersebut. Jika aplikasi tidak menangani pesan ini, pemrosesan berikutnya untuk tampilan tidak diformulasikan dalam spesifikasi ini, tetapi diserahkan ke IME. Misalnya, string yang tidak ditentukan mungkin digulir dalam persegi panjang pembatas atau dapat dipindahkan sementara ke posisi default.

Jika pesan IME_SETCONVERSIONWINDOW dipanggil saat IME memegang string yang tidak ditentukan, IME harus mengeluarkan pesan WM_IME_REPORT:IR_CLOSECONVERT; jika string cocok di jendela yang diberikan sebagai parameter, IME harus mengeluarkan pesan WM_IME_REPORT:IR_OPENCONVERT. Hanya dengan begitu jendela konversi harus digambar. Jika string tidak pas di jendela, IME harus mengeluarkan pesan WM_IME_REPORT:IR_FULLCONVERT.

Posisi persegi panjang pembatas dapat ditentukan di luar area layar fisik. Jika seluruh persegi panjang pembatas berada di luar layar fisik, string yang tidak ditentukan tidak boleh ditampilkan. Jika bagian dari persegi panjang pembatas berada di luar layar fisik, IME akan mengklip persegi panjang pembatas sehingga tidak ada bagian dari string yang tidak ditentukan yang meluap di layar, dan juga menyesuaikan posisi mulai tampilan.

Disarankan untuk tidak mengatur jumlah maksimum baris, atau karakter maksimum yang ditampilkan di, jendela konversi.

Jika jendela konversi tumpang tindih dengan jendela sistem, jendela konversi harus terlihat. Misalnya, jendela konversi dapat diberikan prioritas utama untuk tampilan atau jendela sistem dapat dipindahkan ke tempat lain.

IME harus mengirim pesan IR_CHANGECONVERT jika jendela konversi telah berubah dalam ukuran, konten tampilan, atau warna tampilan. Namun, jika string yang tidak ditentukan tidak cocok di jendela tertentu, IME harus mengirim pesan IR_FULLCONVERT daripada IR_CHANGECONVERT.

Ketika IME telah bergeser dari mode MCW_WINDOW atau MCW_SCREEN ke MCW_DEFAULT, IME harus mengirim pesan IR_CLOSECONVERT jika string yang tidak ditentukan ada.

Ketika IME telah bergeser dari mode MCW_WINDOW atau MCW_SCREEN ke MCW_HIDDEN, IME harus mengirim pesan IR_CLOSECONVERT jika ada string yang tidak ditentukan.

Ketika IME telah bergeser dari mode MCW_HIDDEN ke MCW_DEFAULT, MCW_SCREEN, atau MCW_WINDOW, IME harus mengirimkan pesan IR_UNDETERMINE dengan string yang tidak ditentukan = 0 dan string yang ditentukan = 0.

IME_SETLEVEL

Subfungsi khusus Korea yang menetapkan tingkat IME pada aplikasi saat ini. Anggota wParam menerima salah satu nilai tingkat berikut.

Tingkat Makna
1 Tidak ada dukungan IME. Semua pesan khusus IME diabaikan.
2 Dukungan IME parsial. Mendukung subset perilaku IME termasuk posisi jendela komposisi atau kandidat dan mode atau status input.
3 Dukungan IME penuh.
 

IME_SETOPEN

Menetapkan status fitur konversi kana-ke-kanji dari IME.

Anggota wParam diatur ke nonzero untuk membuka IME dan nol untuk menutup IME

Nilai yang dikembalikan menunjukkan status sebelumnya dari fitur konversi kana-ke-kanji. Mengembalikan TRUE jika terbuka; jika tidak, FALSE.

String yang tidak ditentukan tidak boleh ditentukan jika fitur konversi kana-ke-kanji telah ditutup oleh IME_SETOPEN.

Ketika fitur konversi kana-ke-kanji ditutup oleh IME_SETOPEN, IME harus mengirim pesan IR_CLOSECONVERT jika IME dalam mode MCW_WINDOW atau MCW-SCREEN dan jika jendela konversi terbuka. Namun, IME tidak perlu mengeluarkan IR_CLOSECONVERT jika berada dalam mode MCW_HIDDEN dan jika string yang tidak ditentukan ada.

IME_SET_MODEK

Versi IME_SETCONVERSIONMODE khusus Korea.

wParam

Penggunaan tergantung pada subfungsi yang ditentukan dalam fnc.

wCount

Penggunaan tergantung pada subfungsi yang ditentukan dalam fnc.

dchSource

Penggunaan tergantung pada subfungsi yang ditentukan dalam fnc.

dchDest

Penggunaan tergantung pada subfungsi yang ditentukan dalam fnc.

lParam1

Penggunaan tergantung pada subfungsi yang ditentukan dalam fnc.

lParam2

Penggunaan tergantung pada subfungsi yang ditentukan dalam fnc.

lParam3

Penggunaan tergantung pada subfungsi yang ditentukan dalam fnc.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Header ime.h

Lihat juga

Clipboard

Konseptual

Referensi

SetClipboardData