Share via


ITextRange.Move(TextRangeUnit, Int32) Metode

Definisi

Memindahkan titik penyisipan ke depan atau mundur dengan jumlah unit yang ditentukan. Jika rentang teks tidak terdegenerasi, rentang teks diciutkan ke titik penyisipan pada posisi awal atau akhir rentang teks, tergantung pada hitungan, 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 adalah Karakter.

count
Int32

int

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

Mengembalikan

Int32

int

Jumlah unit aktual yang dipindahkan titik penyisipan. Untuk informasi lebih lanjut, lihat bagian Keterangan.

Keterangan

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

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

Metode ini mengembalikan jumlah unityang benar-benar dipindahkan. Metode ini tidak pernah memindahkan titik penyisipan di luar cerita rentang ini. Jika unithitungan akan memindahkan titik penyisipan sebelum awal cerita, titik penyisipan dipindahkan ke awal cerita dan hasilnya diatur sesuai. Demikian pula, jika unithitungan akan memindahkan titik penyisipan di luar akhir cerita, itu dipindahkan ke akhir cerita.

Hitung 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 itu adalah batas **Word** berikutnya ke arah gerakan.

Argumen pengembalian diatur sama dengan jumlah units yang dipindahkan titik penyisipan, termasuk satu unit untuk menciutkan rentang yang tidak terdegenerasi dan memindahkannya ke batas unit . Jadi, jika tidak ada gerakan dan tidak ada penciutan 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, panggilan Move(Word, 1) menetapkan hasil yang sama dengan 1 karena rentang diciutkan. Demikian pula, panggilan Move(Word, -1) menetapkan hasil yang sama dengan – 1 untuk kedua kasus. Menciutkan, dengan atau tanpa memindahkan bagian unit ke batas unit , dihitung sebagai unit yang 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 pergerakan geometris.

Metode UI ITextSelection mencadangkan atas umpan kembali/baris (CR/LF) pengangkutan seolah-olah itu adalah karakter tunggal, 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 yang 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 ITextRange.MoveEnd, yang masing-masing memindahkan unitjumlah posisi awal atau akhir rentang.

Berlaku untuk

Lihat juga