Bagikan melalui


Metode ITextHost::TxNotify (textserv.h)

Memberi tahu host teks dari berbagai peristiwa.

Sintaks

HRESULT TxNotify(
  [in] DWORD iNotify,
  [in] void  *pv
);

Parameter

[in] iNotify

Jenis: DWORD

Peristiwa untuk memberi tahu host. Salah satu kode pemberitahuan EN_ .

[in] pv

Jenis: void*

Data tambahan, tergantung pada iNotify.

Nilai kembali

Jenis: HRESULT

Kembalikan S_OK jika metode berhasil.

Mengembalikan S_FALSE jika metode gagal. Untuk informasi selengkapnya tentang kode kesalahan COM, lihat Penanganan Kesalahan di COM.

Keterangan

Perhatikan bahwa ada dua kategori dasar peristiwa, langsung dan tertunda . Peristiwa langsung dikirim segera karena membutuhkan beberapa pemrosesan, misalnya, EN_PROTECTED. Peristiwa tertunda dikirim setelah semua pemrosesan terjadi; kontrol dengan demikian dalam keadaan stabil. Contoh pemberitahuan yang tertunda adalah EN_CHANGE, EN_ERRSPACE, dan EN_SELCHANGE.

Peristiwa pemberitahuan sama dengan kode pemberitahuan yang dikirim ke jendela induk dari jendela edit yang kaya. Penembakan peristiwa dapat dikontrol dengan masker yang diatur melalui pesan EM_SETEVENTMASK .

Secara umum, adalah hukum untuk melakukan panggilan ke objek layanan teks saat memproses metode ini; namun, pelaksana diperingatkan untuk menghindari rekursi yang berlebihan.

Berikut ini adalah daftar pemberitahuan yang mungkin dikirim.

Pemberitahuan Makna
EN_CHANGE Dikirim setelah sistem memperbarui layar, ketika pengguna mengambil tindakan yang mungkin telah mengubah teks dalam kontrol.
EN_DROPFILES Dikirim saat pesan WM_DROPFILES atau pemberitahuan IDropTarget::D ragEnter diterima.
EN_ERRSPACE Dikirim ketika kontrol tidak dapat mengalokasikan cukup memori untuk memenuhi permintaan tertentu.
EN_HSCROLL Dikirim saat pengguna mengklik bilah gulir horizontal kontrol sebelum layar diperbarui.
EN_KILLFOCUS Dikirim saat kontrol kehilangan fokus keyboard.
EN_LINK Dikirim saat kontrol edit kaya menerima berbagai pesan, seperti pesan klik mouse, saat penunjuk mouse melebihi teks yang memiliki efek CFE_LINK.
EN_MAXTEXT Dikirim ketika penyisipan teks saat ini telah melebihi jumlah maksimum karakter untuk kontrol.
EN_OLEOPFAILED Dikirim ketika tindakan pengguna pada objek OLE gagal.
EN_PROTECTED Dikirim saat pengguna mengambil tindakan yang mengubah rentang teks yang dilindungi.
EN_REQUESTRESIZE Dikirim ketika konten kontrol edit kaya berbeda dari ukuran jendela kontrol.
EN_SAVECLIPBOARD Dikirim ketika kontrol edit sedang dihancurkan. Host teks harus menunjukkan apakah OleFlushClipboard harus dipanggil. Data yang menunjukkan jumlah karakter dan objek yang akan dibersihkan dikirim dalam struktur data ENSAVECLIPBOARD . Nilai masker bukan apa-apa.
EN_SELCHANGE Dikirim ketika pilihan saat ini telah berubah. Struktur data SELCHANGE juga dikirim, yang menunjukkan rentang pilihan baru pada jenis data pilihan saat ini berakhir. Dikontrol melalui masker ENM_SELCHANGE .
EN_SETFOCUS Dikirim saat kontrol edit menerima fokus keyboard. Tidak ada data tambahan yang dikirim; tidak ada masker.
EN_STOPNOUNDO Dikirim ketika terjadi tindakan yang kontrolnya tidak dapat mengalokasikan cukup memori untuk mempertahankan status batalkan. Jika S_FALSE dikembalikan, tindakan akan dihentikan; jika tidak, tindakan akan berlanjut.
EN_UPDATE Dikirim sebelum kontrol edit meminta penggalian ulang data atau teks yang diubah. Tidak ada data tambahan yang dikirim. Kejadian ini dikontrol melalui masker ENM_UPDATE . Edit Kaya 2.0 dan yang lebih baru: Masker ENM_UPDATE diabaikan dan kode pemberitahuan EN_UPDATE selalu dikirim. Namun, ketika Microsoft Rich Edit 3.0 menilui Microsoft Rich Edit 1.0, masker ENM_UPDATE mengontrol pemberitahuan ini.
EN_VSCROLL Dikirim saat pengguna mengklik bilah gulir vertikal kontrol edit atau saat pengguna menggulir roda mouse di atas kontrol edit, sebelum layar diperbarui. Ini dikontrol melalui masker ENM_SCROLL ; tidak ada data tambahan yang dikirim.
 
CatatanEN_MSGFILTER tidak dikirim ke TxNotify. Untuk memfilter pesan jendela, gunakan TxSendMessage.
 

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Target Platform Windows
Header textserv.h
DLL Msftedit.dll

Lihat juga

Konseptual

EM_SETEVENTMASK

EN_CHANGE

EN_DROPFILES

EN_ERRSPACE

EN_HSCROLL

EN_KILLFOCUS

EN_LINK

EN_MAXTEXT

EN_OLEOPFAILED

EN_PROTECTED

EN_REQUESTRESIZE

EN_SAVECLIPBOARD

EN_SELCHANGE

EN_SETFOCUS

EN_STOPNOUNDO

EN_UPDATE

EN_VSCROLL

ITextHost

Referensi

Kontrol Edit Kaya Tanpa Jendela