Bagikan melalui


ITextRange.Move(TextRangeUnit, Int32) Metode

Definisi

Memindahkan titik penyisipan ke depan atau mundur dengan jumlah unit yang ditentukan. Jika rentang teks tidak dibuat, rentang teks diciutkan ke titik penyisipan pada posisi awal atau akhir rentang teks, tergantung pada jumlah , lalu dipindahkan.

public:
 int Move(TextRangeUnit unit, int count);
int Move(TextRangeUnit const& unit, int const& count);
public int Move(TextRangeUnit unit, int count);
function move(unit, count)
Public Function Move (unit As TextRangeUnit, count As Integer) As Integer

Parameter

unit
TextRangeUnit

Unit untuk memindahkan titik penyisipan. Nilai defaultnya adalahKarakter .

count
Int32

int

Jumlah unit untuk memindahkan titik penyisipan. Nilai defaultnya adalah 1. Jika jumlah lebih besar dari nol, titik penyisipan bergerak maju, menuju akhir cerita. Jika menghitung kurang dari nol, titik penyisipan bergerak mundur, ke awal cerita. Jika jumlah adalah nol, rentang tidak berubah.

Mengembalikan

Int32

int

Jumlah aktual unit titik penyisipan bergerak. Untuk informasi selengkapnya, lihat bagian Keterangan.

Keterangan

Jika rentang berdegenerasi (titik penyisipan), metode ini mencoba memindahkan titik penyisipan jumlah unit yang ditentukan oleh jumlah .

Jika rentang tidak terdegenerasi dan jumlah lebih besar dari nol, metode ini menciutkan rentang ke titik penyisipan di akhir rentang, memindahkan titik penyisipan yang dihasilkan ke depan ke unit batas (jika belum berada di satu), lalu mencoba memindahkan jumlah – 1 unit ke depannya. Jika rentang tidak terdegenerasi dan menghitung kurang dari nol, metode ini menciutkan rentang ke titik penyisipan di awal rentang, memindahkan titik penyisipan yang dihasilkan mundur ke unit batas (jika belum berada di satu), lalu mencoba memindahkan jumlah – 1 unit mundur. Dengan demikian, dalam kedua kasus, menciutkan rentang nondegenerasi ke titik penyisipan, baik pindah ke awal atau akhir unit setelah ciutkan, dihitung sebagai unit .

Metode ini mengembalikan jumlah unit yang benar-benar dipindahkan. Metode ini tidak pernah memindahkan titik penyisipan di luar cerita rentang ini. Jika menghitungunitakan memindahkan titik penyisipan sebelum awal cerita, titik penyisipan dipindahkan ke awal cerita dan hasilnya diatur sesuai. Demikian pula, jika menghitung unitakan memindahkan titik penyisipan di luar akhir cerita, itu dipindahkan ke akhir cerita.

Hitungan sesuai dengan berapa kali Anda menekan Ctrl+Panah Kanan.

Misalnya, jika Anda menekan Ctrl+Panah Kanan untuk pilihan yang diperlihatkan dalam kedua gambar berikut, Anda berakhir dengan titik penyisipan pada posisi karakter 8, karena perintah ini menciutkan pilihan di ujungnya (masing-masing 7 dan 8) dan berpindah ke batas Word berikutnya.

Posisi karakter untuk string teks Pilihan pertama tidak menyertakan spasi kosong pada posisi karakter 7, sehingga Ctrl+Panah Kanan bergerak melewati spasi ke batas **Word** pada posisi karakter 8. Posisi akhir rentang sudah berada di batas **Word** untuk pilihan kedua, sehingga Ctrl+Panah Kanan hanya menciutkan pilihan pada batas tersebut. Demikian pula, Ctrl+Panah Kiri, yang untuk teks ini bertindak seperti 'Move(Word, -1)'. Tetapi Ctrl+Panah Kiri menciutkan pilihan kedua pada posisi karakter 4 lalu berpindah ke nol, karena itulah batas **Word** berikutnya ke arah gerakan.

Argumen pengembalian diatur sama dengan jumlah unit bahwa titik penyisipan dipindahkan, termasuk satu unit untuk menciutkan rentang nondegenerasi dan memindahkannya ke unit batas . Jadi, jika tidak ada gerakan dan tidak ada ciutkan yang terjadi, seperti ketika rentang adalah titik penyisipan di akhir cerita, hasilnya diatur sama dengan nol. Pendekatan ini berguna untuk mengontrol perulangan aplikasi yang memproses seluruh cerita.

Dalam kedua kasus yang disebutkan sebelumnya, memanggil Move(Word, 1) menetapkan hasil yang sama dengan 1 karena rentang diciutkan. Demikian pula, memanggil Move(Word, -1) menetapkan hasil yang sama dengan - 1 untuk kedua kasus. Menciutkan, dengan atau tanpa memindahkan bagian dari unit ke batas unit , dihitung sebagai unit dipindahkan.

Arah gerakan mengacu pada pengurutan karakter logis di penyimpanan backing teks biasa. Pendekatan ini menghindari masalah pemesanan geometris, seperti kiri versus kanan dan atas versus bawah, dalam perangkat lunak internasional. Metode geometris seperti itu masih diperlukan di mesin edit, tentu saja, karena keyboard memiliki tombol panah untuk memanggil gerakan geometris.

Metode ITextSelection UI mencadangkan umpan kembali/baris (CR/LF) seperti jika itu adalah satu karakter, tetapi metode ITextRange.Move menghitung pengembalian pengangkutan/umpan baris (CR/LF) sebagai dua karakter. Lebih baik menggunakan satu karakter sebagai pemisah paragraf, yang diwakili oleh CR, meskipun karakter pemisah paragraf Unicode, 0x2029, diterima. Secara umum, kontrol edit kaya mendukung umpan kembali/baris (CR/LF), CR, LF, VT (tab vertikal), FF (umpan formulir), dan 0x2029. Microsoft Rich Edit 2.0 juga mendukung CR/CR/LF untuk kompatibilitas mundur.

Lihat juga metode ITextRange.MoveStart dan metode ITextRange.MoveEnd, yang masing-masing memindahkan posisi awal atau akhir rentang menghitung unit.

Berlaku untuk

Lihat juga