Tạo hộp thoạ

Một phần của tài liệu Tài liệu Đồ án tốt nghiệp Tìm hiểu AutoLISP và ứng dụng trong autoCAD pdf (Trang 31 - 33)

3.9.1 Khái niệm về file .DCL và các thành phần của hộp thoại

File .DCL sử dụng để mô tả cấu trúc của hộp thoại. File này có dạng file văn bản ASCII tương tự như file chương trình AutoLISP. Các hộp thoại của AutoCAD được mô tả trong file acad.dcl.

Các thành phần của hộp thoại như các nút lệnh (button) hoặc các hộp văn bản (edit box)…, gọi là các tile. Hình dáng, kích thước, chức năng…của các tile được xác định bởi các thuộc tính của chúng. Ngoài ra, ta có thể sử dụng các tile để tạo ra các Prototype hoặc các Subassembly để sử dụng được nhiều lần trong các file DCL khác nhau.

AutoCAD đã mô tả cấu trúc mặc định cho các tile, và cách sắp xếp các thành phần của nó được thực hiện tự động. Vì vậy, ta chỉ khai báo giá trị cho những thuộc tính nào cần thiết.

Bảng phân loại các tile

Phân loại Các tile Mô tả

Active tiles Button Edit_box Image_button List_box Popup_list Radio_button Slider Toggle Có khả năng nhận được con trỏ, do đó nhận được giá trị nhập của người sử dụng. Là các tile cở sở,có thể sử dụng để tạo ra các tile phức tạp hoặc các cluster. Tile cluster Boxed_column Boxed_radio_column Boxed_radio_row Boxed_row Column Dialog Radio_column Radio_row Row sử dụng để nhóm các tile thành một hàng hoặc một cột. Decorative & Informative tiles Image Text Spacer Spacer_0 Spacer_1 sử dụng để tăng tính thẩm mỹ cho hộp thoại.

Text cluster Concatenation Paragraph Text_part sử dụng để tăng khả năng định dạng và sắp xếp các dòng chữ trong hộp thoại. Exit buttons and Error tile Err_tile Ok_only Ok_cancel Ok_cancel_help Ok_cancel_help_errtile Ok_cancel_help_info

Đây là các subassembly do AutoCAD tạo sẵn sử dụng cho chức năng đóng hộp thoại. err_tile là một vùng ở góc trái dưới hộp thoại sử dụng để hiện thông báo lỗi khi người dùng đưa vào dữ liệu không thích hợp.

Trong file DCL, để mô tả cấu trúc của một hộp thoại, ta liệt kê lần lượt các tile và các thuộc tính của chúng theo thứ tự từ trên xuống, theo cấu trúc cây:

• Mức cao nhất của cây, gọi là gốc luôn là dialog.

• Các tile mức 1: toggle, boxed_column, row gọi là con của hộp thoại. • Các tile mức 2: edit_box là con của boxed_column.

• row: là một subassembly chứa các tile: ok_button, cancel_button, err_tile

Ghi chú:

• Tên các tile phải viết bằng chữ thường, bắt đầu bằng dấu hai chấm (:) • Các tile được liệt kê theo thứ tự từ trên xuống như trong hộp thoại. • Các dòng chú thích bắt đầu bằng //

• Các thuộc tính của một tile được đặt trong cặp dấu {} và kết thúc mỗi thuộc tính là dấu (;).

• Các hộp thoại phải chứ một exit tile đểđóng hộp thoại.

3.9.2. Phân loại các ttile

Các thuộc tính sử dụng để xác định hình dạng, kích thước, vị trí của các tile. Một số thuộc tính sử dụng được cho nhiều tile, một số thuộc tính chỉ sử dụng riêng cho một tile.

Các thuộc tính của các tile có thể là: action, alignment, allow_aceept, color,

edit_limit, height, key, layout…(tham khảo thêm ở [2]).

3.9.2.1 Các Active tile

a. Dialog

Dialog là tile sử dụng để mô tả bản thân hộp thoại. Các tile con của dialog được sắp xếp thành một cốt theo thứ tự từ trên xuống

: dialog {

init_focus label value key

init_focus: tên tile được nhận con trỏ khi hộp thoại xuất hiện. label : tiêu đề của hộp thoại

value : tiêu đề của hộp thoại. Thường được sử dụng trong thời gian chạy .

b. Button

Nút lệnh, có hình dạng nút nhấn. Khi người sử dụng nhấn vào nút này, nó sẽ thực hiện một chức năng được liên kết với nó. Mỗi hộp thoại phải có ít nhất một button đểđóng hộp thoại.

: button { (adsbygoogle = window.adsbygoogle || []).push({});

action alignment fixed_hieght fixed_width height is_cancel is_default is_enable key is_tabstop label mnemonic width

}

c. Edit box

Edit_box cho phép người dùng nhập và sửa nội dung của chuỗi xuất hiện trên hộp thoại.

: edit_box {

action alignment allow_accept fixed_height edit_limit edit_width fixed_width height is_enable is_tab_stop key label mnemonic

}

trong đó:

label: tiêu đề của edit_box

value: chuỗi xác định giá trị mặc định ban đầu của edit_box . d. Image button

Image_button hiển thị hình ảnh và hoạt động giống button. Hình ảnh sử dụng có thể là một slide của AutoCAD hoặc là các vector. Ta có thể xác thực được toạ độ điểm chọn trên hình ảnh, nhờ đó mà thực hiện các lệnh thích hợp. Các thuộc tính chiều cao và chiều rộng bắt buộc phải có hoặc thông qua tỉ lệ giữa chúng aspect_ratio.

Một phần của tài liệu Tài liệu Đồ án tốt nghiệp Tìm hiểu AutoLISP và ứng dụng trong autoCAD pdf (Trang 31 - 33)