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 |
|
Pustaka |
|
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