Antarmuka ITextRange (tom.h)

Objek ITextRange adalah alat pengeditan dan pengikatan data yang kuat yang memungkinkan program memilih teks dalam cerita lalu memeriksa atau mengubah teks tersebut.

Warisan

Antarmuka ITextRange mewarisi dari antarmuka IDispatch . ITextRange juga memiliki jenis anggota ini:

Metode

Antarmuka ITextRange memiliki metode ini.

 
ITextRange::CanEdit

Menentukan apakah rentang yang ditentukan dapat diedit.
ITextRange::CanPaste

Menentukan apakah objek data dapat ditempelkan, menggunakan format tertentu, ke dalam rentang saat ini.
ITextRange::ChangeCase

Mengubah kasus huruf dalam rentang ini sesuai dengan parameter Jenis.
ITextRange::Ciutkan

Ciutkan rentang teks yang ditentukan ke dalam titik degenerasi di awal atau akhir rentang.
ITextRange::Copy

Menyalin teks ke objek data.
ITextRange::Cut

Memotong teks biasa atau kaya ke objek data atau ke Clipboard, tergantung pada parameter pVar.
ITextRange::D elete

Menilik tombol DELETE dan BACKSPACE, dengan dan tanpa tombol CTRL tertekan.
ITextRange::EndOf

Memindahkan rentang ini berakhir ke akhir Unit tumpang tindih terakhir dalam rentang.
ITextRange::Expand

Perluas rentang ini sehingga setiap unit parsial yang dikandungnya benar-benar terkandung.
ITextRange::FindText

Mencari hingga Menghitung karakter untuk teks yang diberikan oleh bstr. Posisi awal dan arah juga ditentukan oleh Count, dan kriteria pencocokan diberikan oleh Bendera.
ITextRange::FindTextEnd

Mencari hingga Menghitung karakter untuk string, bstr, mulai dari cp Akhir rentang.
ITextRange::FindTextStart

Mencari hingga Menghitung karakter untuk string, bstr, dimulai dari rentang Mulai cp (cpFirst).
ITextRange::GetChar

Mendapatkan karakter pada posisi awal rentang.
ITextRange::GetDuplicate

Mendapatkan duplikat dari objek rentang ini.
ITextRange::GetEmbeddedObject

Mengambil penunjuk ke objek yang disematkan di awal rentang yang ditentukan, yaitu, di cpFirst. Rentang harus berupa titik penyisipan atau hanya harus memilih objek yang disematkan.
ITextRange::GetEnd

Mendapatkan posisi karakter akhir dari rentang.
ITextRange::GetFont

Mendapatkan objek ITextFont dengan atribut karakter dari rentang yang ditentukan.
ITextRange::GetFormattedText

Mendapatkan objek ITextRange dengan teks berformat rentang yang ditentukan.
ITextRange::GetIndex

Mengambil indeks cerita parameter Unit pada posisi karakter Mulai rentang yang ditentukan.
ITextRange::GetPara

Mendapatkan objek ITextPara dengan atribut paragraf dari rentang yang ditentukan.
ITextRange::GetPoint

Mengambil koordinat layar untuk posisi karakter awal atau akhir dalam rentang teks, bersama dengan posisi intra-baris.
ITextRange::GetStart

Mendapatkan posisi karakter awal rentang.
ITextRange::GetStoryLength

Mendapatkan jumlah karakter dalam cerita rentang.
ITextRange::GetStoryType

Dapatkan jenis cerita rentang.
ITextRange::GetText

Mendapatkan teks biasa dalam rentang ini. Properti Teks adalah properti default antarmuka ITextRange.
ITextRange::InRange

Menentukan apakah rentang ini berada di dalam atau pada teks yang sama dengan rentang yang ditentukan.
ITextRange::InStory

Menentukan apakah cerita rentang ini sama dengan cerita rentang yang ditentukan.
ITextRange::IsEqual

Menentukan apakah rentang ini memiliki posisi karakter dan cerita yang sama dengan rentang yang ditentukan.
ITextRange::Move

Memindahkan titik penyisipan ke depan atau mundur dari jumlah unit yang ditentukan. Jika rentang tidak dibuat, rentang diciutkan ke titik penyisipan di kedua ujungnya, tergantung pada Hitungan, lalu dipindahkan.
ITextRange::MoveEnd

Memindahkan posisi akhir rentang.
ITextRange::MoveEndUntil

Memindahkan akhir rentang ke posisi karakter karakter pertama yang ditemukan yang ada di kumpulan karakter yang ditentukan oleh Cset, asalkan karakter ditemukan dalam karakter Hitung dari akhir rentang.
ITextRange::MoveEndWhile

Memindahkan akhir rentang baik karakter Hitung atau hanya melewati semua karakter berdekatan yang ditemukan dalam kumpulan karakter yang ditentukan oleh Cset, mana yang kurang.
ITextRange::MoveStart

Memindahkan posisi awal rentang jumlah unit yang ditentukan ke arah yang ditentukan.
ITextRange::MoveStartUntil

Memindahkan posisi awal rentang posisi karakter pertama yang ditemukan yang ada di kumpulan karakter yang ditentukan oleh Cset, asalkan karakter ditemukan dalam karakter Hitung dari posisi awal.
ITextRange::MoveStartWhile

Memindahkan posisi awal rentang baik karakter Hitung, atau hanya melewati semua karakter berdekatan yang ditemukan dalam kumpulan karakter yang ditentukan oleh Cset, mana yang kurang.
ITextRange::MoveUntil

Mencari hingga Menghitung karakter untuk karakter pertama dalam kumpulan karakter yang ditentukan oleh Cset. Jika karakter ditemukan, rentang akan diciutkan ke titik tersebut. Awal pencarian dan arah juga ditentukan oleh Count.
ITextRange::MoveWhile

Dimulai pada akhir rentang yang ditentukan dan pencarian sementara karakter termasuk dalam set yang ditentukan oleh Cset dan sementara jumlah karakter kurang dari atau sama dengan Hitungan.
ITextRange::P aste

Menempelkan teks dari objek data tertentu.
ITextRange::ScrollIntoView

Menggulir rentang yang ditentukan ke dalam tampilan.
ITextRange::Select

Mengatur posisi awal dan akhir, dan nilai cerita dari pilihan aktif, ke nilai dari rentang ini.
ITextRange::SetChar

Mengatur karakter pada posisi awal rentang.
ITextRange::SetEnd

Mengatur posisi akhir rentang.
ITextRange::SetFont

Mengatur atribut karakter rentang ini ke atribut dari objek ITextFont yang ditentukan.
ITextRange::SetFormattedText

Menyetel teks yang diformat dari teks rentang ini ke teks yang diformat dari rentang yang ditentukan.
ITextRange::SetIndex

Mengubah rentang ini ke unit cerita yang ditentukan.
ITextRange::SetPara

Mengatur atribut paragraf dari rentang ini ke atribut dari objek ITextPara yang ditentukan.
ITextRange::SetPoint

Mengubah rentang berdasarkan titik tertentu pada atau ke atas (tergantung pada Perluas) titik (x, y) yang diratakan sesuai dengan Jenis.
ITextRange::SetRange

Menyesuaikan titik akhir rentang ke nilai yang ditentukan.
ITextRange::SetStart

Mengatur posisi karakter untuk awal rentang ini.
ITextRange::SetText

Menyetel teks dalam rentang ini.
ITextRange::StartOf

Memindahkan rentang berakhir ke awal Unit pertama yang tumpang tindih dalam rentang.

Keterangan

Beberapa rentang teks dapat aktif dan bekerja secara kooperatif pada cerita yang sama dan berkembang dengan cerita. Misalnya, jika satu rentang teks menghapus teks tertentu sebelum rentang teks lain, yang terakhir melacak perubahan. Dalam pengertian ini, rentang teks mirip dengan Microsoft Word bookmark, yang juga melacak perubahan pengeditan. Namun, marka buku tidak dapat mengedit teks, sementara rentang teks bisa. Selain itu, rentang memungkinkan Anda memanipulasi teks tanpa mengubah pilihan atau Clipboard, yang keduanya berharga bagi pengguna akhir. Antarmuka ITextSelection mewarisi dari ITextRange dan menambahkan beberapa metode dan properti berorientasi UI seperti yang dijelaskan di bagian di ITextSelection.

Anda dapat melihat rentang teks menggunakan metode berdasarkan posisi karakter. Secara khusus, rentang teks ditandai dengan:

  • Posisi karakter pertama , cpFirst, yang menunjuk pada titik penyisipan segera mendahului karakter pertama (relatif terhadap awal cerita) dalam rentang.
  • Posisi batas , cpLim, yang menunjuk pada titik penyisipan segera mengikuti karakter terakhir dalam rentang.
Karakter pertama dalam sebuah cerita memiliki cpFirst = zero. Jika argumen cp memiliki nilai yang lebih besar dari jumlah karakter dalam cerita, jumlah karakter dalam cerita digunakan sebagai gantinya. Jika argumen cp negatif, nol akan digunakan sebagai gantinya. Bagi mereka yang terbiasa dengan Microsoft Visual Basic for Applications, panggil properti cpFirstStart dan properti cpLimEnd (meskipun posisi awal rentang juga merupakan akhir).

Pada gambar berikut, posisi karakter diwakili oleh garis yang memisahkan huruf. Nilai posisi karakter yang sesuai diberikan di bawah baris. Rentang mulai dari cpFirst = 5 dan berakhir pada cpLim = 7 berisi kata dua huruf adalah. Jika gambar ini menggambarkan teks lengkap dalam sebuah cerita, panjang ceritanya adalah 30.

Diagram string teks 30 karakter, dengan dua dari lima kata ber bayanganPanjang rentang diberikan oleh cpLim - cpFirst atau setara dengan Akhir - Mulai. Rentang dengan panjang nol disebut rentang degenerasi atau kosong dan memiliki nilai cp* yang sama, yaitu cpFirst = cpLim. Contoh rentang degenerasi adalah titik penyisipan saat ini. Pilihan non-null adalah contoh rentang nondegenerasi.

Misalkan rentang dari 5 hingga 7 yang ditunjukkan oleh sel berbayang pada gambar sebelumnya disuruh menghapus teksnya (lihat Hapus), sehingga mengubah dirinya menjadi titik penyisipan. Rentang dari 25 hingga 29 akan secara otomatis melacak kontennya, yaitu teks kata. Gambar berikut menunjukkan hasilnya.

Diagram string teks 28 karakter, dengan salah satu dari empat kata ber bayangan Dalam gambar ini, rentang untuk teks sekarang telah secara otomatis disesuaikan untuk memiliki cpFirst = 23 dan cpLim = 27. Pemilik rentang tidak perlu khawatir tentang memperbarui nilai posisi karakter rentang dalam menghadapi pengeditan.

Nama metode pemindahan menunjukkan ujung mana yang akan dipindahkan, tetapi perhatikan bahwa jika ada metode yang mencoba memindahkan satu rentang berakhir melewati yang lain, kedua ujungnya dipindahkan ke posisi target. Akibatnya, titik penyisipan berada pada posisi target. Konsepnya adalah bahwa cpFirst dan cpLim selalu harus mematuhi kondisi dasar

0 <= cpFirst<= cpLim<= # karakter dalam cerita

atau setara untuk rentang r, 0 <= r. Mulai <= r. Akhir <= r. StoryLength, yang akan Anda harapkan dari nama-nama jumlah ini.

Fitur penting lainnya adalah bahwa semua cerita berisi karakter CR akhir (0xD) yang tidak dapat dihapus di akhir. Jadi bahkan cerita kosong memiliki satu karakter, yaitu CR akhir. Rentang dapat memilih karakter ini, tetapi tidak dapat menjadi titik penyisipan di luarnya. Untuk melihat cara kerjanya, coba pilih CR akhir dalam dokumen Word lalu tekan tombol PANAH KANAN untuk menciutkannya. Pohon direktori akan runtuh sebelum CR akhir, tetapi CR tidak dapat dihapus. Model Objek Teks (TOM) berfungsi dengan cara yang sama. Jadi, jika r. Mulai <= r. Akhiri, lalu r. Akhir <= (r. StoryLength – 1). Untuk diskusi tentang menghapus CR, lihat Menghapus.

Beberapa metode bergantung pada argumen Unit , yang dapat mengambil nilai yang telah ditentukan sebelumnya yang tercantum dalam tabel berikut.

Unit Nilai Makna
tomCharacter 1 Karakter.
tomWord 2 Word.
tomSentence 3 Kalimat.
tomParagraph 4 Ayat.
tomLine 5 Garis (saat ditampilkan).
tomStory 6 Cerita.
tomScreen 7 Layar (untuk PAGE UP/PAGE DOWN).
tomSection 8 Bagian.
tomColumn 9 Kolom tabel.
tomRow 10 Baris tabel.
tomWindow 11 Kiri atas atau kanan bawah jendela.
tomCell 12 Sel tabel.
tomCharFormat 13 Menjalankan pemformatan karakter konstanta.
tomParaFormat 14 Menjalankan pemformatan paragraf konstan.
tomTable 15 Meja.
tomObject 16 Objek yang disematkan.
 

Sebagian besar nilai Unit adalah penjelasan mandiri. Namun deskripsi berikut disediakan untuk kejelasan tambahan.

tomWord

Konstanta tomWord adalah akhir paragraf atau rentang alfanumerik atau tanda baca termasuk kosong yang mengikuti. Untuk mendapatkan nuansa di layar tomWord, watch bagaimana tanda sisipan bergerak saat Anda menekan CTRL+PANAH KANAN (—>) atau CTRL+PANAH KIRI (<—) dalam dokumen Word.

tomSentence

Konstanta tomSentence menjelaskan string teks yang diakhbungi dengan tanda titik, tanda tanya, atau tanda seru dan diikuti oleh satu atau beberapa karakter spasi putih ASCII (9 hingga 0xd dan 0x20), atau pemisah paragraf Unicode (0x2029). Spasi putih berikutnya adalah bagian dari kalimat. Kalimat terakhir dalam sebuah cerita tidak perlu memiliki tanda titik, tanda tanya, atau tanda seru. Awal cerita memenuhi syarat sebagai awal tomSentence, bahkan jika string di sana tidak memenuhi syarat sebagai kalimat secara tata bahasa. Kalimat lain harus mengikuti akhir kalimat dan tidak dapat dimulai dengan tanda titik, tanda tanya, atau tanda seru.

tomParagraph

Konstanta tomParagraph adalah string teks yang dihentikan oleh tanda akhir paragraf (CRLF, CR, VT (untuk SHIFT+ENTER), LF, FF, atau 0x2029). Mesin TOM selalu memiliki tanda akhir paragraf yang tidak dapat ditentukan di akhir cerita. Dengan demikian, semua cerita TOM secara otomatis memiliki setidaknya satu tomWord, satu tomSentence, dan satu tomParagraph.

tomLine

Konstanta tomLine sesuai dengan satu baris teks pada tampilan, asalkan tampilan dikaitkan dengan rentang. Jika tidak ada tampilan yang terkait dengan rentang, tomLine diperlakukan sebagai tomParagraph. Pilihan secara otomatis memiliki tampilan dan rentang yang merupakan duplikat (lihat GetDuplicate). Rentang lain mungkin tidak memiliki layar, tergantung pada mesin dan konteks TOM.

Metode yang memindahkan satu atau kedua ujungnya dalam hal Unit, seperti Move, MoveEnd, dan MoveStart, bergantung pada argumen Count yang ditandatangani. Kecuali untuk perintah pergerakan geometris ITextSelection , jika Hitungan lebih besar dari nol, ujung yang akan dipindahkan dipindahkan ke depan (menuju akhir cerita), dan jika Hitungan kurang dari nol, ujungnya dipindahkan ke belakang (ke awal). Nilai default Hitungan untuk metode Pemindahan ini adalah 1. Metode ini mencoba memindahkan Unit Hitungan, tetapi gerakan tidak pernah melampaui akhir cerita.

Metode yang memindahkan satu atau kedua berakhir dengan mencocokkan string karakter atau pola string, seperti MoveWhile, MoveEndWhile, dan MoveStartWhile, dapat berpindah ke atas ke jumlah maksimum karakter yang diberikan oleh argumen Count yang ditandatangani. Jika Hitungan lebih besar dari nol, ujung yang akan dipindahkan akan dipindahkan ke depan, dan jika Hitungan kurang dari nol, ujungnya dipindahkan mundur. Dua nilai Count khusus, tomForward dan tomBackward, didefinisikan. Nilai-nilai ini masing-masing dijamin akan mencapai akhir dan awal cerita. Nilai default Count adalah tomForward.

Dalam metode Move* yang mengubah rentang nondegenerasi menjadi degenerasi, seperti Move, MoveWhile, dan MoveUntil, cpFirst diubah jika Count negatif dan cpLim diubah jika Count positif. Setelah gerakan ini, ujung rentang lainnya juga dipindahkan ke lokasi baru. Lihat metode individual untuk informasi Hitungan yang lebih spesifik. Untuk rentang nondegenerasi, metode MoveStart, MoveEnd, MoveStartWhile, MoveEndWhile, MoveStartUntil dan MoveEndUntil memindahkan posisi awal (Mulai) atau posisi akhir (Akhir).

Untuk memilih unit yang sesuai dengan rentang yang bersebelahan, seperti tomWord, tomSentence, dan tomParagraph, gunakan metode MoveEnd . Untuk memilih unit yang sesuai dengan rentang yang tidak berdekatan, seperti tomObject, gunakan metode EndOf , karena objek berikutnya dapat terjadi setelah teks perantara substansial, jika sama sekali. Untuk memilih unit tomCell, rentang harus berada di dalam tabel.

Contoh dan penjelasan lebih lanjut tentang argumen Hitungan dan Unit mengikuti. Perhatikan bahwa mesin TOM mungkin tidak mendukung semua unit dalam tabel di atas. Misalnya, kontrol edit yang kaya tidak menawarkan konsep bagian, melainkan mengembalikan E_NOTIMPL ketika diberikan tomSection. Namun jika mesin TOM mendukung unit, mesin tersebut memiliki nilai indeks yang diberikan dalam tabel.

Aplikasi biasanya tidak mengimplementasikan antarmuka ITextRange . Solusi teks Microsoft, seperti kontrol edit yang kaya, menerapkan ITextRange sebagai bagian dari implementasi TOM mereka.

Aplikasi dapat mengambil penunjuk ITextRange dengan memanggil metode Rentang .

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 tom.h

Lihat juga

Konseptual

IDispatch

Model Objek Teks

Menggunakan model objek teks