Kelas InkCollector

Mewakili objek yang digunakan untuk mengambil tinta dari perangkat tablet yang tersedia.

Membuat kontrol InkCollector di balik kontrol transparan (seperti GroupBox dengan kumpulan properti WS_EX_TRANSPARENT ) akan mencegah InkCollector mengumpulkan tinta.

InkCollector memiliki jenis anggota ini:

Acara

Kelas InkCollector memiliki peristiwa ini.

Kejadian Deskripsi
CursorButtonDown Terjadi ketika InkCollector mendeteksi tombol kursor yang tidak berfungsi.
CursorButtonUp Terjadi ketika InkCollector mendeteksi tombol kursor yang sedang naik.
KursorUnduh Terjadi ketika tip kursor menghubungi permukaan tablet digitalisasi.
CursorInRange Terjadi ketika kursor memasuki rentang deteksi fisik (kedekatan) konteks tablet.
CursorOutOfRange Terjadi ketika kursor meninggalkan rentang deteksi fisik (kedekatan) konteks tablet.
Doubleclick Terjadi ketika objek InkCollector diklik dua kali.
Gerakan Terjadi ketika gerakan khusus aplikasi dikenali.
MouseDown Terjadi ketika penunjuk mouse berada di atas objek InkCollector dan tombol mouse ditekan.
MouseMove Terjadi ketika penunjuk mouse dipindahkan ke objek InkCollector .
MouseUp Terjadi ketika penunjuk mouse berada di atas objek InkCollector dan tombol mouse dilepaskan.
MouseWheel Terjadi ketika roda mouse bergerak sementara objek InkCollector memiliki fokus.
NewInAirPackets Terjadi ketika paket dalam udara terlihat, yang terjadi ketika pengguna memindahkan pena di dekat tablet dan kursor berada di dalam jendela objek InkCollector atau pengguna memindahkan mouse di dalam jendela terkait objek Objek InkCollector .
NewPackets Terjadi ketika objek InkCollector menerima paket.
Usap Terjadi ketika pengguna selesai menggambar stroke baru pada tablet apa pun.
SystemGesture Terjadi ketika gerakan sistem dikenali.
TabletTambahkan Terjadi ketika Tablet ditambahkan ke sistem.
TabletRemoved Terjadi ketika Tablet dihapus dari sistem.

Antarmuka

Kelas InkCollector mendefinisikan antarmuka ini.

Antarmuka Deskripsi
IInkCollector Objek ini mengimplementasikan antarmuka IInkCollector COM.

Metode

Kelas InkCollector memiliki metode ini.

Metode Deskripsi
GetEventInterest Mengambil status saat ini dari peristiwa objek InkCollector tertentu, yaitu, apakah peristiwa sedang didengarkan atau digunakan.
GetGestureStatus Mengambil apakah objek InkCollector tertarik pada gerakan tertentu.
GetWindowInputRectangle Mengambil persegi panjang jendela, dalam piksel, di mana tinta digambar.
SetAllTabletsMode Mode ini memungkinkan objek InkCollector untuk mengumpulkan tinta dari tablet apa pun yang terpasang pada PC Tablet.
SetEventInterest Memodifikasi nilai yang menunjukkan apakah peristiwa tertentu harus didengarkan atau digunakan.
SetGestureStatus Memodifikasi minat objek InkCollector dalam gerakan yang diketahui.
SetSingleTabletIntegratedMode Mode ini memungkinkan objek InkCollector mengumpulkan tinta hanya dari satu tablet. Tinta dari tablet lain diabaikan oleh objek InkCollector .
SetWindowInputRectangle Memodifikasi persegi jendela, dalam piksel, untuk digunakan untuk memetakan tinta yang digambar ke jendela.

Properti

Kelas InkCollector memiliki properti ini.

Properti Jenis akses Deskripsi
AutoRedraw
Baca-saja
Mendapatkan atau mengatur nilai yang menentukan apakah InkCollector mengecat ulang tinta saat jendela tidak valid.
CollectingInk
Baca-saja
Mendapatkan nilai yang menentukan apakah tinta saat ini sedang digambar pada objek InkCollector .
CollectionMode
Baca-saja
Mendapatkan atau mengatur mode koleksi yang menentukan apakah tinta, gerakan, atau keduanya dikenali sebagai pengguna menulis.
Kursor
Baca-saja
Mendapatkan koleksi Kursor yang tersedia untuk digunakan di wilayah penintaan.
DefaultDrawingAttributes
Baca-saja
Mendapatkan atau mengatur objek InkDrawingAttributes default, yang menentukan atribut gambar yang digunakan saat menggambar dan menampilkan tinta.
DesiredPacketDescription
Baca-saja
Mendapatkan atau menetapkan minat pada aspek paket yang terkait dengan tinta yang digambar pada objek InkCollector .
DynamicRendering
Baca-saja
Mendapatkan atau menetapkan nilai yang menunjukkan apakah tinta dirender saat digambar.
Aktif
Baca-saja
Mendapatkan atau menetapkan nilai yang menentukan apakah objek InkCollector mengumpulkan input pena.
Handle
Baca-saja
Mendapatkan atau mengatur handel jendela tempat objek InkCollector dilampirkan.
Tinta
Baca-saja
Mendapatkan atau mengatur objek InkDisp yang terkait dengan objek InkCollector .
MarginX
Baca-saja
Mendapatkan atau mengatur margin di sepanjang sumbu x, dalam piksel.
Marginy
Baca-saja
Mendapatkan atau mengatur margin di sepanjang sumbu y, dalam piksel.
MouseIcon
Baca-saja
Mendapatkan atau mengatur ikon mouse kustom saat ini.
MousePointer
Baca-saja
Mendapatkan atau mengatur nilai yang menunjukkan jenis penunjuk mouse yang muncul saat mouse berada di atas bagian objek tertentu.
Renderer
Baca-saja
Mendapatkan atau mengatur objek InkRenderer yang digunakan untuk menggambar tinta.
SupportHighContrastInk
Baca-saja
Mendapatkan atau mengatur nilai yang menentukan apakah tinta dirender hanya sebagai satu warna saat sistem berada dalam mode Kontras Tinggi.
Tablet
Baca-saja
Mendapatkan perangkat tablet yang saat ini digunakan objek InkCollector untuk mengumpulkan input.

Keterangan

Objek ini dapat dibuat dengan memanggil metode CoCreateInstance di C++.

Objek InkCollector hanya mengumpulkan tinta dan gerakan yang dimasukkan ke jendela tertentu yang terkait dengannya. Satu-satunya tujuan InkCollector adalah untuk mengumpulkan tinta dari perangkat keras (misalnya, melalui objek IInkCursor dan IInkTablet ) dan mengirimkannya ke aplikasi. Ini pada dasarnya bertindak sebagai sumber yang mendistribusikan tinta ke dalam satu atau banyak objek InkDisp yang berbeda, yang bertindak sebagai kontainer yang menyimpan tinta terdistribusi.

Untuk menggunakan InkCollector, Anda membuatnya, memberi tahu di jendela mana untuk mengumpulkan tinta yang digambar, dan mengaktifkannya. Setelah diaktifkan, itu dapat diatur untuk mengumpulkan hanya dalam salah satu dari tiga mode (mode ditentukan dalam enumerasi InkCollectionMode ):

  • InkOnly, tempat objek IInkStrokeDisp dibuat.
  • GestureOnly, tempat objek IInkGesture dibuat.
  • InkAndGesture, di mana stroke, gerakan, atau berpotensi keduanya dibuat, tergantung pada bagaimana aplikasi menangani peristiwa.

Ini berarti bahwa, untuk setiap gerakan kursor yang berada dalam rentang tablet, InkCollector selalu mengumpulkan goresan atau gerakan dan kadang-kadang keduanya. Dukungan gerakan dibangun menggunakan pengenal gerakan Microsoft.

InkCollector menangani semua input tablet. Tinta dapat dikumpulkan dari semua tablet yang terpasang (termasuk mouse) secara bersamaan. Perubahan pada objek IInkCursor dan IInkCursorButton dapat menyebabkan objek InkCollector menembakkan peristiwa.

InkCollector juga mengelola daftar kursor yang ditemuinya selama keberadaannya. Ketika InkCollector menemukan kursor baru, peristiwa CursorInRange diaktifkan dengan parameter newCursor yang diatur ke VARIANT_TRUE. Aplikasi menggunakan InkCollector untuk mengelola kursor baru.

Lebih dari satu InkCollector dapat dikaitkan dengan handel jendela tertentu, bahkan jika area koleksinya, diatur dalam konstruktor atau dengan metode SetWindowInputRectangle , tumpang tindih. Namun, satu-satunya cara kerja skenario ini adalah jika setiap InkCollector memanggil SetSingleTabletIntegratedMode dan menggunakan tablet unik. Perilaku ini memudahkan untuk menyimpan tinta dalam objek terpisah untuk setiap tablet.

Kesalahan terjadi jika persegi panjang input jendela dari satu InkCollectors yang diaktifkan (diatur dengan properti Diaktifkan ) tumpang tindih dengan persegi input jendela dari InkCollector lain yang diaktifkan.

Catatan

Tumpang tindih dapat terjadi tanpa kesalahan selama hanya salah satu persegi panjang input yang diaktifkan pada waktu yang diketahui.

Peristiwa MouseDown, MouseMove, MouseUp, dan MouseWheel mengembalikan koordinat x dan y dalam piksel, dan bukan unit HIMETRIC yang terkait dengan ruang tinta. Ini karena peristiwa ini menggantikan peristiwa mouse aplikasi yang tidak menyadari pena dan aplikasi ini hanya memahami piksel.

Catatan

Objek InkCollector tidak dapat dirilis dengan aman pada utas non-UI.

Untuk meningkatkan performa aplikasi Anda, buang objek InkCollector Anda saat tidak lagi diperlukan.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung
Windows XP Tablet PC Edition [hanya aplikasi desktop]
Server minimum yang didukung
Tidak ada yang didukung
Header
Msinkaut.h (juga memerlukan Msinkaut_i.c)
Pustaka
InkObj.dll

Lihat juga

Referensi Kontrol InkEdit

Kelas InkDisp

Kelas InkOverlay

Referensi Kontrol Gambar Tinta