Làm việc với văn bản trong các điều khiển

Một phần của tài liệu Giáo trình Lập trình nâng cao (Nghề Lập trình máy tính): Phần 1 - Tổng cục dạy nghề (Trang 128 - 130)

a) Cài đặt lề cho văn bản Setting text alignment

Trong đối tượng RichText hay đối tượng memo, văn bản có thể được canh phải, canh trái hay canh giữa. Để điều chỉnh dạng canh lề của văn bản, chúng a sử dụng thuộc tính Alignment. Thuộc tính này chỉ có tác dụng khi thuộc tính WordWrap điều cài đặt thành true. Nếu WordWrap được đặt thành false sẽ khơng có bất cứ canh lề nào được áp dụng.

Để lấy ví dụ, giả sử chúng ta có ta có một menu để thực hiện canh lề trái, phải và giữa cho văn bản. Đoạn mã lện sau minh hoạ phương pháp chúng ta xử lý các mục chọn và văn bản trong richtext như sau:

void TEditForm::AlignClick(TObject *Sender) {

TMenuItem *temp;

Left1.Checked := False; { clear all three checks */ Right1->Checked = False;

Center1->Checked = False; temp = (TMenuItem *)Sender; temp->Checked=true;

if(Left1->Checked )

Editor-> Alignment = taLeftJustify else if(Right1->Checked )

Editor-> Alignment = taRightJustify else if(Center1->Checked )

Editor-> Alignment = taCenter; }

b) Thêm thanh cuộn vào thời điểm thực thi

Đối tượng RichEdit và memo có thể chứa thanh cuộn ngang hoặc cuộn dọc hoặc cả hai nếu cần thiết. Khi thuộc tính WordWrap được kích hoạt, chỉ có một thanh cuộn dọc được hiển thị mà thôi.

Để thêm thanh cuộn vào thời điểm thực thi, chúng ta có thể sử dụng đoạn lệnh ví dụ như sau:

void __fastcall TEditForm::WordWrap1Click(TObject *Sender) {

Editor->WordWrap := not WordWrap; { toggle word-wrapping */ if(WordWrap )

ScrollBars:= ssVertical { wrapped requires only vertical */ else

ScrollBars := ssBoth; { unwrapped might need both */

WordWrap1.Checked := WordWrap; { check menu item to match property */ }

c) Thêm đối tượng Clipboard

Hầu hết các chương trình xử lý văn bản đều cho phép di chuyển đoạn văn bản chọn lựa qua lại giữa các ứng dụng, thậm chí các văn bản trong các ứng dụng khác nhau. Đối tượng Clipboard của C++ Builder là hiện thân của một Clipboard trong Windows và nó cũng bao gồm các phương thức cắt, copy và dán văn bản (thậm chí các định dạng khác, chẳng hạn như hình ảnh). Đối tượng Clipboard được khai báo trong thư viện Clipbrd.hpp (hoặc Clipbrd.h).

Để thêm một đối tượng Clipboad vào một ứng dụng chúng ta phải thêm câu lệnh khai báo thư viện này lên đoạn khai báo thư viện của C++ Buidler (#include Clipbrd.hpp).

d) Đoạn văn bản được chọn

Trước khi chúng ta có thể gởi bất cứ đoạn văn bản nào vào Clipboard, đoạn văn bản này phải được chọn trước. Khi người sử dụng chọn một đoạn văn bản, nó hiển thị bằng cách đánh dấu (thường là một vùng nền đen, chữ trắng)

Các thuộc tính hỗ trợ để chúng ta xử lý đoạn văn bản lựa chọn như sau: Thuộc tính Ý nghĩa

SelLength Chứa chiều dài văn bản được chọn. SelStart Chứa vị trí bắt đầu của một chuỗi.

e) Chọn tất cả văn bản

Để chọn tất cả văn bản có trong điều khiển, chúng ta có thể sử dụng phương thức Select All. Đây là một phương pháp hiệu quả để chọn các văn bản đang hiển thị ở vùng khuất. Thường thường, khi người sử dụng chọn văn bản hay sử dụng chuột và bàn phím.

f) Cắt, sao chép và dán văn bản

Các ứng dụng sử dụng thư viện Clipbrd đều có thể cắt, sao chép và dán văn bản, đồ hoạ và đối tượng thơng qua Clipboard của Windows. Chúng ta có thể sử dụng các đoạn mã lệnh tương tự như sau:

void __fastcall TEditForm::CutToClipboard(TObject *Sender) {

Editor->CutToClipboard(); }

void __fastcall TEditForm::CopyToClipboard(TObject *Sender) {

Editor->CopyToClipboard(); }

void __fastcall TEditForm||PasteFromClipboard(TObject *Sender) {

Editor->PasteFromClipboard(); }

g) Xoá đoạn văn bản lựa chọn

Chúng ta cũng có thể xố đoạn văn bản đã được lựa chọn mà khơng phải cắt nó đưa vào Clipboard. Để làm được điều này, chúng ta phải gọi phương thức ClearSelecton. Ví dụ, để xố đoạn văn bản đã được lựa chọn chúng ta có thể sử dụng đoạn lệnh như sau:

void __fastcall TEditForm::Delete(Sender: TObject); {

RichEdit1->ClearSelection(); }

Một phần của tài liệu Giáo trình Lập trình nâng cao (Nghề Lập trình máy tính): Phần 1 - Tổng cục dạy nghề (Trang 128 - 130)

Tải bản đầy đủ (PDF)

(133 trang)