Thanh trượt-Slider (CSliderCtrl)

Một phần của tài liệu Bài giảng Visual C++ 6.0 pot (Trang 46 - 49)

3. Dự án (Project ) DPW 2 )-

4.16. Thanh trượt-Slider (CSliderCtrl)

Giới thiệu- Introduction

- Là một thanh trượt mà bạn có thể di chuyển giữa hai điểm, người sử dụng có thể dùng chuột hay các phím mũi tên để di chuyển. Slider thường được dùng khi người sử dụng lựa chọn một giá trị trong một khoảng xác định. Trong các ứng dụng của Window người sử dụng có thể dùng kiểu thanh trượt thay đổi liên tục hoặc dùng thanh trượt thay đổi nhảy bậc.

Thiết kế-Design Tạo-Create

Vẽ-Draw

- Click chọn nút Slider trên thanh công cụ Điều khiển.

- Khi đó biểu tượng con trỏ chuột là > Click chọn trên Hộp thoại-Dialog để có thanh trượt là .

Viết mã- Coding

Gán Thuộc tính- Assign Properties

Thiết kế-Design - Click chuột phải lên thanh trượt trên Hộp thoại-Dialog > chọn Properties.

- Sau đó xuất hiện hộp thoại SliderProperties của thanh trượt như hình sau:

+ Nhập tên định danh của thanh trượt ở hộp . VD: IDC_SLIDER_CO. + Bỏ chọn hộp nếu muốn ẩn thanh trượt.

- Rồi ấn phím Enter.

- Ấn phím ESC để hủy bỏ gán thuộc tính.

Viết mã-Coding

Lập trình-Progarmming

Khai báo biến- Variable Declaration

- Click chuột phải lên thanh trượt trên Hộp thoại-Dialog > chọn ClassWizard. - Chọn thẻ > sau đó xuất hiện hộp thoại MFC ClassWizard như hình sau:

- Chọn tên định danh của thanh trượt ở khung Control IDs > chọn nút > xuất hiện hộp thoại Add Member Variable như hình sau:

+ Nhập tên biến hay tên đối tượng vào hộp . VD:

m_slider_co.

+ Nếu chọn là biến ở hộp , thì chọn kiểu dữ liệu ở hộp .

Kiểu Giải nghĩa

Int Kiểu Số nguyên

+ Nếu chọn là đối tượng ở hộp , thì chọn lớp ở hộp .

Kiểu Giải nghĩa

CSliderCtr

l Lớp Trượt

- Chọn nút để xóa biến hay xóa đối tượng.

Chèn Thông điệp- Add Message

- Mở hộp thoại MFC ClassWizard.

- Nếu chọn tên định dang của Dialog chứa thanh trượt ở hộp > chọn thông điệp ở khung

Messages:

Thông điệp Ý nghĩa sự kiện

WM_HSCROLL Kéo ngang thanh trượt WM_VSCROLL Kéo dọc thanh trượt

- Nếu cChọn tên định danh của thanh trượt ở khung Object IDs > chọn thông điệp ở khung

Messages:

Thông điệp Ý nghĩa sự kiện

WM_HSCROLL Kéo ngang thanh trượt WM_VSCROLL Kéo dọc thanh trượt NW_OUTOFMEMORY

NM_RELEASECAPTURE NM_CUSTOMDRAW

- Chọn nút > sau đó xuất hiện hộp thoại Add Member Fucntion như hình sau:

+ Đặt tên hàm cho hộp nhập liệu ở hộp . Các trường hợp đặt tên hàm:

Thông điệp Tên hàm Ví dụ

- Chọn nút để xóa hàm.

- Chọn nút để viết mã lệnh trong hàm như sau: void CTen_Ung_DungDlg::On()

{

// TODO: Add your control notification handler code here } Viết mã-Coding Lập trình- Progarmming CSliderCtrl::SetRange Mục đích (Purpose)

Sets the range (minimum and maximum positions) for the slider in a slider control.

Đặt giá trị lớn nhất và nhỏ nhất cho thanh Slider.

Cú pháp (Syntax)

void SetRange( int nMin, int nMax,

BOOL bRedraw = FALSE );

Ví dụ (Example)

CSliderCtrl::SetPos

Mục đích

(Purpose) Sets the current position of the slider in a slider control.

Cú pháp (Syntax) void SetPos( int nPos ); Ví dụ (Example)

CSliderCtrl::GetPos

Mục đích (Purpose)

Retrieves the current position of the slider in a slider control.

Cú pháp

(Syntax) int GetPos( ) const; Ví dụ (Example) m_slider.SetRange (1,20); m_slider.SetPos (1); m_static.Format ("%d",m_slider.GetPos()); UpdateData(FALSE); - Hàm SetRange(): void SetRange( int nMin, int nMax,

BOOL bRedraw = FALSE );

- Hàm SetPos(): Đặt giá trị cho thanh Slider. void SetPos( int nPos ); - Ví dụ-Example: BOOL CProgressbarDlg::OnInitDialog() {

// TODO: Add extra initialization here m_slider.SetRange(1,10); m_slider.SetPos(5); m_edit.Format("%d",m_slider.GetPos()); UpdateData(FALSE); }

- Hàm GetPos(): Trả về giá trị của thanh Slider. int GetPos( ) const;

- Ví dụ-Example:

void CSliderDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) {

// TODO: Add your message handler code here and/or call default m_edit.Format("%d",m_slider.GetPos());

UpdateData(FALSE);

CDialog::OnHScroll(nSBCode, nPos, pScrollBar); }

Một phần của tài liệu Bài giảng Visual C++ 6.0 pot (Trang 46 - 49)

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

(62 trang)