1. Cara mendapatkan nomor baris saat ini
Saat menggunakan kontrol RichEdit (atau memo) untuk membuat editor teks, Anda bisa mendapatkan jumlah total baris dengan mengakses atribut jumlah baris. Namun, sulit untuk mengetahui nomor baris di mana kursor berada saat ini terletak, karena Delphi tidak menyediakan atribut ini. Untuk mengimplementasikan fungsi editor penting ini, em_ LineFromChar harus dipanggil. Silakan coba prosedur di bawah ini.
Pertama atur RichEdit atau memo (bernama editor) dan tombol di jendela. Tulis kode berikut di acara onclick tombol.
var
Garis Saat Ini:Integer;
mulai
CurrentLine:=Editor??Perform(em_ LineFromChar,SFFFF,0);
application??MessageBox(PChar('Nomor baris saat ini adalah'+IntToStr(Garis Saat Ini)),'Pesan',mb_ iconinformasi);
akhir;
Perhatikan bahwa baris pertama memiliki nomor baris nol.
2. Cara membatalkan suatu operasi (undo)
Untuk memo, tidak ada pemrograman yang diperlukan untuk mengimplementasikan undo, selama atribut popupmenu kosong, menu operasi umum dapat diaktifkan dengan tombol kanan mouse selama runtime, termasuk enam item: undo, cut, copy, paste, delete dan select. semua. .
Namun sayangnya, metode ini tidak berfungsi pada kontrol RichEdit yang kuat, jadi kami harus mendesain sendiri popupmemu. Saat Anda menggunakan CutToClipBoard dan pernyataan lain untuk menyelesaikan fungsi seperti "potong" dengan mudah dan lancar, Anda tidak akan berdaya saat mengetahui bahwa Anda tidak dapat menemukan pernyataan seperti membatalkan atau membatalkan untuk melakukan "membatalkan".
Saat ini Anda perlu menanganinya seperti ini:
RichEdit1??Lakukan(EM_UNDO,0,0);
Anda juga harus memeriksa apakah pembatalan diperbolehkan, dengan mengaktifkan atau menonaktifkan item "Batalkan" di menu pop-up:
Urungkan1??Diaktifkan:=RichEdit??Perform(EM_CANUNDO,0,0)<>0;
Program di atas lolos debugging di Delphi3