Hộp văn bản

Một **hộp văn bản** (tiếng Anh: **text box**), **trường văn bản** hay **hộp nhập văn bản** là một thành tố điều khiển của một giao diện đồ họa người dùng, cho phép người dùng nhập thông tin văn bản để cho chương trình sử dụng.

Nguyên tắc Giao diện Con người (Human Interface Guidelines) khuyên dùng hộp văn bản một dòng khi chỉ cần một dòng đầu vào, và khuyên dùng hộp văn bản nhiều dòng chỉ khi cần nhiều hơn một dòng đầu vào. Các hộp văn bản không sửa được có thể phục vụ mục đích hiển thị văn bản một cách đơn giản.

Một hộp văn bản điển hình là một hình chữ nhật có kích thước bất kỳ, có thể có thêm đường viền ngăn cách hộp văn bản với phần còn lại của giao diện. Hộp văn bản có thể chứa các thanh cuộn ngang và dọc. Hộp văn bản thường hiển thị con trỏ văn bản (dưới dạng một đường thẳng đứng luôn nhấp nháy), chỉ ra vị trí các kí tự sẽ được chỉnh sửa. Con trỏ chuột thường thay đổi hình dạng khi di chuột qua một hộp văn bản.

## Chức năng chuẩn
Các sự thực hiện (implementation) điển hình sẽ cho phép người dùng thực hiện những công việc sau:

* **Nhập văn bản bằng bàn phím** 
** Khi các phím được nhấn, văn bản sẽ xuất hiện ở vị trí của con trỏ. Một số hộp văn bản rất đơn giản có thể không hiển thị con trỏ, khi đó các ký tự mới được nhập vào sẽ xuất hiện ở cuối văn bản hiện tại. 
* **Điều hướng và chọn văn bản** 
** Sử dụng chuột: 
*** Thay đổi vị trí con trỏ bằng cách nháy chuột vào điểm mong muốn bằng con trỏ chuột; 
*** Chọn một phần văn bản bằng cách nháy giữ chuột trái trong khi trỏ con trỏ vào phần đầu của phần văn bản mong muốn và rê con trỏ đến phần cuối cần chọn. 
** Sử dụng bàn phím: 
*** Nhấn các phím mũi tên thay đổi vị trí con trỏ từng ký tự một hoặc từng dòng một (trong hộp văn bản nhiều dòng);
*** Nhấn phím Home / End (Hệ điều hành Windows) hoặc Command + mũi tên trái / Command + mũi tên phải (Mac OS) để di chuyển con trỏ đến đầu hoặc cuối dòng; 
*** Nhấn phím Page Up / Page Down để di chuyển tiến / lùi con trỏ đi một trang (tương đương với số dòng có thể được hiển thị trong hộp văn bản tại một thời điểm) (Windows) hoặc di chuyển thanh cuộn lên / xuống một trang mà không thay đổi vị trí con trỏ (Mac OS); 
*** Giữ phím Ctrl (Windows) trong khi nhấn phím mũi tên hoặc phím Home / End làm cho con trỏ di chuyển theo các bước lớn hơn, ví dụ như theo từ, đoạn văn hoặc đầu / cuối tài liệu; 
*** Giữ phím Option (Mac OS) trong khi nhấn phím mũi tên sẽ di chuyển con trỏ qua toàn bộ các từ hoặc đoạn văn; 
*** Giữ phím Command trong khi nhấn phím mũi tên lên hoặc xuống (Mac OS) hoặc giữ phím Ctrl trong khi nhấn phím Home / End (Windows) làm di chuyển con trỏ đến đầu hoặc cuối tài liệu;
*** Giữ phím Shift trong khi thay đổi vị trí con trỏ bằng chuột hoặc bàn phím sẽ chọn phần văn bản từ vị trí con trỏ khi phím Shift được nhấn lần đầu đến vị trí hiện tại của nó. 
*** Nhấn Control + A | Ctrl + A (Windows) để chọn tất cả văn bản. 
* **Chỉnh sửa văn bản** (cho phép thay đổi văn bản đã được nhập vào) 
** Có hai chế độ là chèn và ghi đè, thường được chuyển bằng phím Insert. Ở chế độ chèn, nếu có ký tự ở bên phải con trỏ thì ký tự mới nhập vào sẽ được chèn vào trước nó. Còn ở chế độ ghi đè, ký tự mới sẽ thay thế (ghi đè lên) ký tự ở bên phải con trỏ. 
** Nhập văn bản khi có một phần văn bản đang được chọn sẽ khiến phần văn bản mới thay thế phần văn bản được chọn. 
** Các phím Xóa và Backspace sẽ xóa một ký tự sang bên phải hoặc bên trái vị trí con trỏ hiện tại, trong khi nhấn phím đó với phím Ctrl hoặc phím Command sẽ xóa nguyên một từ. 
** Chỉnh sửa văn bản bằng các thao tác trên bảng tạm tiêu chuẩn. 
* **[[Hoàn tác]] / Làm lại các thay đổi** bằng tổ hợp phím Ctrl + Z / Ctrl + Y (Windows) hoặc Command + Z / Command + Shift + Z (Mac OS)

Các phím ở trên liên quan đến các thành tố hộp văn bản trong Microsoft Windows và Mac OS X; các kết buộc (binding) bàn phím tương tự, nếu không phải là giống hệt nhau, tồn tại ở Hệ thống X Window và các hệ thống khác, và thường tuân theo cùng một bản sơ đồ như Windows. 
## Tham khảo