Ngày 27 tháng 10 năm 2012

Các tính chất của các điều khiển trong GUIDE Matlab


Bài 2: Các tính chất của các điều khiển trong GUIDE Matlab

Trong bài viết này, mình giới thiệu các bạn các tính chất đặc trưng của các điều khiển mà các bạn hay gặp.

Để hiện cửa sổ các tính chất Property Inspector của một điều khiển chúng ta có 3 cách sau:
  • Nhấn đúp chuột vào mỗi điều khiển.
  • Chọn điều khiển rồi vào menu View, chọn Property Inspector.
  • Chọn điều khiển rồi nhấn vào biểu tượng Property Inspector, gần chỗ M-file editor.
Khi đó, cửa sổ Property Inspector sẽ hiện ra. Khi nhấn vào các điều khiển khác thì cửa sổ này sẽ hiện thông tin tương ứng cho điều khiển đó.

Một vài tính chất chung của các điều khiển mà các bạn nên chú ý:
Tính chất (property)
Giá trị (value)
Miêu tả
Enable
on, inactive, off
Mặc định là: on
Xác định khi nào thì điều khiển hiển thị lên giao diện.
Đặt = off, thì điều khiển sẽ không xuất hiện.
Max
Vô hướng.
Mặc định là 1.
Giá trị lớn nhất, tùy thuộc vào từng điều khiển.
Min
Vô hướng.
Mặc định là 0
Giá trị nhỏ nhất, tùy thuộc vào từng điều khiển.
Position
Vector gồm 4 phần tử (left, bottom, width, height)
Kích thước của điều khiển và vị trí tương đối của nó với điều khiển chứa nó.
String


Units

Đơn vị đo lường dùng trong xác định vị trí.
Value
Vô hướng hoặc vector
Giá trị của component, tùy thuộc vào từng component.
Ngoài ra, thuộc tính cực kì quan trọng mà các bạn phải thay ngay từ đâu là: tag. Thuộc tính này giống thuộc tính Caption mà các bạn gặp trong Visual Basic, chính là tên để phân biệt giữa các điều khiển. Mỗi điều khiển chỉ có một tên duy nhất. các bạn nên qui định cho dễ nhớ nhé. Mình nghĩ là nên kết hợp giữa tên của loại điều khiển và mục đích của điều khiển đó.
Ví dụ: một ô nhập dữ liệu giá trị tiền, thuộc Edit Box nên mình đặt tag là: editMoney.
Bây giờ đi vào từng điều khiển cụ thể.
1. Push Button

Thay đổi chữ hiển thị (label) hiển thị trên điều khiển này bằng cách thay đổi thuộc tính String. Chữ hiển thị trên Button chỉ có thể là 1 dòng, nên nếu bạn gõ nhiều dòng trong thuộc tính String thì chỉ hiển thị dòng đầu tiên. Nếu số kí tự dòng đầu tiên lớn hơn bề rộng có thể hiển thị chữ được của bề mặt Button thì Matlab tự rút ngắn String đó với dấu 3 chấm (...).
Thay đổi vị trí  của PushButton = thay đổi thuộc tính Position. Có thể code trong MFile (thay đổi trong quá trình thực thi) hoặc thay đổi ngay lúc thiết kế(gắp thả).
Để thêm một ảnh vào PushButton thì chúng ta gán thuộc tính CData bằng một ma trận m x n x 3 của giá trị RGB. Thực hiện trong MFile ở hàm Open của điều khiển để ngay khi chạy chương trình đã load ảnh này vào rồi.
img = rand(16,64.3);
set(handles.pushbutton1, 'CData',img);
Chú ý: Có thể tạo biểu tượng riêng của bạn cho các nut Push Button bằng cách dùng Icon Editor, sau đó dùng hàm ind2rgb để chuyển sang ảnh gán vào thuộc tính CData.
Các sự kiện xảy ra khi nhấn Push Button được viết trong các hàm ngắt như Callback,..

2. Slider (Thanh trượt)

Thay đổi khoảng giá trị của Slider bằng cách thay đổi thuộc tính Min và Max. Tất nhiên Min < Max.
Giá trị hiện tại của Slider được = giá trị của thuộc tính Value. Nên khi set hoặc get thì ta lấy giá trị này.
Khi click vào 2 cái mũi tên 2 bên thì thanh trượt sẽ trượt tương ứng về 2 phía theo một bước nào đó. Thay đổi thuộc tính SliderStep = [min_step, max_step]. min_step là giá trị bước nhảy khi click vào 2 mũi tên. Còn Max_step là giá trị khi mà click vào trong vùng trượt.

3. Radio Button

Để biết nút Radio có được đánh dấu hay là không thì chúng ta xem thuộc tính Value của nó.
Value = 1 thì check
Value = 0 thì là k check

4. Check Box

Check Box thì thuộc tính quan trọng cũng tương tự như Radio Button.

5. Edit Text

Thuộc tính quan trọng là String
 chính là xâu kí tự hiển thị trên Edit Text.
 Chú ý: để hiển thị như ý muốn thì các bạn cần phải xem kĩ thêm các hàm xử lý string nhé.
Để hiển thị Edit Text dạng Multi-line thì cần thay đổi thuộc tính Max, Min. Max> Min. Ví dụ: Max = 2, Min = 0 sẽ hiển thị 2 dòng đó.

6. Static Text

Thằng này tương tự như Edit Text.
7. Popup Menu
8. List Box
9. Toggle Button