Đây là danh sách các phương thức trong lớp CrichEditCtrl

Rich Edit Control là một cửa sổ trong đó người dùng có thể nhập và chỉnh sửa văn bản . Văn bản có thể được gán ký tự và định dạng đoạn văn, đồng thời có thể bao gồm các đối tượng OLE được nhúng. Nó được đại diện bởi lớp CRichEditCtrl .

Đây là danh sách các phương thức trong lớp CrichEditCtrl.Đây là danh sách ánh xạ thông báo cho Rich Edit Control.

Hãy để chúng tôi vào một ví dụ đơn giản bằng cách tạo một ứng dụng dựa trên hộp thoại MFC mới.

Bước 1 – Xóa dòng TODO và kéo một Rich Edit Control và ba nút từ Hộp công cụ.

Bước 2 – Thay đổi Chú thích của ba nút này từ Đậm, Nghiêng và Gạch dưới thành IDC_BUTTON_BOLD, IDC_BUTTON_ITALIC và IDC_BUTTON_UNDERLINE tương ứng.

Bước 3 – Đặt các thuộc tính sau thành True: Multiline, Want Return, Vertical Scroll.

Bước 4 – Thêm biến kiểm soát m_richEdit cho Kiểm soát chỉnh sửa phong phú.

Bước 5 − Truy cập CMFCRichEditApp và gọi hàm ::AfxInitRichEdit2() trong hàm CMFCRichEditApp::InitInstance() như được hiển thị trong đoạn mã sau.

BOOL CMFCRichEditApp::InitInstance() {
//TODO: call AfxInitRichEdit2() to initialize richedit2 library.
   // InitCommonControlsEx() is required on Windows XP if an application
   // manifest specifies use of ComCtl32.dll version 6 or later to enable
   // visual styles. Otherwise, any window creation will fail.
   INITCOMMONCONTROLSEX InitCtrls;
   InitCtrls.dwSize = sizeof(InitCtrls);
   // Set this to include all the common control classes you want to use
   // in your application.
   InitCtrls.dwICC = ICC_WIN95_CLASSES;
   InitCommonControlsEx(&InitCtrls);

   ::AfxInitRichEdit2();
   CWinApp::InitInstance();

   
   AfxEnableControlContainer();
   
   // Create the shell manager, in case the dialog contains
   // any shell tree view or shell list view controls.
   CShellManager *pShellManager = new CShellManager;

   // Activate "Windows Native" visual manager for enabling themes in MFC controls
   CMFCVisualManager::SetDefaultManager(RUNTIME_CLASS(CMFCVisualManagerWindows));

   // Standard initialization
   // If you are not using these features and wish to reduce the size
   // of your final executable, you should remove from the following
   // the specific initialization routines you do not need
   // Change the registry key under which our settings are stored
   // TODO: You should modify this string to be something appropriate
   // such as the name of your company or organization
   SetRegistryKey(_T("Local AppWizard-Generated Applications"));

   CMFCRichEditDlg dlg;
   m_pMainWnd = &dlg;
   INT_PTR nResponse = dlg.DoModal();
   if (nResponse == IDOK) {
      // TODO: Place code here to handle when the dialog is
      // dismissed with OK
   }else if (nResponse == IDCANCEL) {
      // TODO: Place code here to handle when the dialog is
      // dismissed with Cancel
   }else if (nResponse == -1) {
      TRACE(traceAppMsg, 0, "Warning: dialog creation failed, so
                                application is terminating unexpectedly.\n");
      TRACE(traceAppMsg, 0, "Warning: if you are using MFC controls on
              the dialog, you cannot #define _AFX_NO_MFC_CONTROLS_IN_DIALOGS.\n");
   }
	
   // Delete the shell manager created above.
   if (pShellManager != NULL) {
      delete pShellManager;
   }
	
   // Since the dialog has been closed, return FALSE so that we exit the
   // application, rather than start the application's message pump.
   return FALSE;
}

Bước 6 – Thêm trình xử lý sự kiện Nhấp chuột cho cả ba nút. Đây là cách triển khai cho các sự kiện này

void CMFCRichEditDlg::OnBnClickedButtonBold() { 
   // TODO: Add your control notification handler code here 
   CHARFORMAT Cfm;
	
   m_richEdit.GetSelectionCharFormat(Cfm);  
	
   Cfm.cbSize = sizeof(CHARFORMAT); 
   Cfm.dwMask = CFM_BOLD; 
   Cfm.dwEffects ^= CFE_BOLD; 
	
   m_richEdit.SetSelectionCharFormat(Cfm); 
   m_richEdit.SetFocus(); 
}
  
void CMFCRichEditDlg::OnBnClickedButtonItalic() { 
   // TODO: Add your control notification handler code here
   CHARFORMAT Cfm;  
   
   m_richEdit.GetSelectionCharFormat(Cfm);  
	
   Cfm.cbSize = sizeof(CHARFORMAT); 
   Cfm.dwMask = CFM_ITALIC; 
   Cfm.dwEffects ^= CFE_ITALIC;  
	
   m_richEdit.SetSelectionCharFormat(Cfm); 
   m_richEdit.SetFocus(); 
}
  
void CMFCRichEditDlg::OnBnClickedButtonUnderline() { 
   // TODO: Add your control notification handler code here 
   CHARFORMAT Cfm;  
	
   m_richEdit.GetSelectionCharFormat(Cfm); 
	
   Cfm.cbSize = sizeof(CHARFORMAT); 
   Cfm.dwMask = CFM_UNDERLINE; 
   Cfm.dwEffects ^= CFE_UNDERLINE;  
	
   m_richEdit.SetSelectionCharFormat(Cfm); 
   m_richEdit.SetFocus(); 
} 

Bước 7 – Khi đoạn mã trên được biên dịch và thực thi, bạn sẽ thấy đầu ra sau. Bây giờ hãy nhập văn bản và thay đổi định dạng của nó bằng cách chọn văn bản rồi nhấp vào bất kỳ nút nào trong ba nút.

MFC – Hộc Nhóm

Hộp nhóm là một điều khiển tĩnh được sử dụng để đặt một nhóm điều khiển hiển thị hoặc có lập trình. Điều khiển là một hình chữ nhật nhóm các điều khiển khác lại với nhau. Các điều khiển được nhóm lại bằng cách vẽ đường viền xung quanh chúng và hiển thị văn bản đã cho ở góc trên bên trái.

Trong hộp thoại sau, hộp Nhóm chứa ba nút radio bên trong.

MFC – Nút Xoay

Điều khiển nút xoay (còn được gọi là điều khiển lên xuống) là một cặp nút mũi tên mà người dùng có thể bấm để tăng hoặc giảm giá trị, chẳng hạn như vị trí cuộn hoặc số được hiển thị trong điều khiển đồng hành. nó được đại diện bởi lớp CSpinButtonCtrl . Đây là danh sách các phương thức trong lớp CSpinButtonCtrl

Sơ Không.Tên & Mô tả
1Tạo ra Tạo điều khiển nút xoay và gắn nó vào đối tượng CSpinButtonCtrl.
2TạoEx Tạo một điều khiển nút xoay với các kiểu mở rộng của Windows đã chỉ định và gắn nó vào một đối tượng CSpinButtonCtrl.
3GetAccel Truy xuất thông tin gia tốc cho điều khiển nút xoay.
4GetBase Truy xuất cơ sở hiện tại cho điều khiển nút xoay.
5GetBuddy Truy xuất một con trỏ tới cửa sổ bạn thân hiện tại.
6GetPos Truy xuất vị trí hiện tại của điều khiển nút xoay.
7Nhận phạm vi Lấy giới hạn trên và dưới (phạm vi) cho điều khiển nút xoay.
8Thiết lập gia tốc Đặt gia tốc cho điều khiển nút xoay.
9SetBase Đặt cơ sở cho điều khiển nút xoay.
10SetBuddy Đặt cửa sổ bạn thân cho điều khiển nút xoay.
11ĐặtPos Đặt vị trí hiện tại cho điều khiển.
12Đặt dải Đặt giới hạn trên và dưới (phạm vi) cho điều khiển nút xoay.

Dưới đây là danh sách ánh xạ thông báo cho điều khiển Nút xoay.

Thông điệpnhập bản đồSự mô tả
BN_CLICKEDON_BN_CLICKED( <id>, <thành viênFxn> )Khung gọi chức năng thành viên này khi được nhấp vào nút.
BN_DISABLEON_BN_DISABLE( <id>, <thành viênFxn> )Khung gọi chức năng thành viên này khi nút bị tắt.
BN_DOUBLECLICKEDON_BN_DOUBLECLICKED( <id>, <thành viênFxn> )Khung gọi chức năng thành viên này khi nút được nhấp đúp.
BN_PAINTON_BN_PAINT( <id>, <thành viênFxn> )Khung gọi chức năng thành viên này khi một ứng dụng đưa ra yêu cầu sơn lại một nút.

Chúng ta hãy xem xét một ví dụ đơn giản về nút Spin bằng cách tạo một ứng dụng dựa trên hộp thoại MFC mới.

Bước 1 – Thêm một Điều khiển quay và một Điều khiển chỉnh sửa từ Hộp công cụ.

Bước 2 – Chuyển đến Thuộc tính của Kiểm soát vòng quay và đặt các giá trị của Auto Buddy và Set Buddy Integer thành True.

MFC – Quản lý Updown Control

Bước 1 – Thêm một biến điều khiển m_spinControl để điều khiển vắt với các cài đặt như trong ảnh chụp nhanh sau đây.

Bước 2 – Thêm biến điều khiển m_editControl cho điều khiển Chỉnh sửa.

Bước 3 – Thêm trình xử lý sự kiện cho sự kiện UDN_DELTAPOS cho nút xoay.

Bước 4 – Cập nhật OnInitDialog() như được hiển thị trong đoạn mã sau.

BOOL CMFCSpinButtonDlg::OnInitDialog() {
   CDialogEx::OnInitDialog();

   // Set the icon for this dialog. The framework does this automatically
   // when the application's main window is not a dialog
   SetIcon(m_hIcon, TRUE);        // Set big icon
   SetIcon(m_hIcon, FALSE);      // Set small icon
   // TODO: Add extra initialization here
   m_spinControl.SetRange(0, 100);
   m_spinControl.SetPos(50);
   m_editControl.SetWindowText(L"50");
   return TRUE; // return TRUE unless you set the focus to a control
}

Bước 5 – Đây là triển khai sự kiện điều khiển quay.

void CMFCSpinButtonDlg::OnDeltaposSpin1(NMHDR *pNMHDR, LRESULT *pResult) {
   LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR);
   // TODO: Add your control notification handler code here
   // Declare a pointer to a CSpinButtonCtrl;
   CSpinButtonCtrl *Spinner;
   // Get a pointer to our spin button
   Spinner = reinterpret_cast<CSpinButtonCtrl *>(GetDlgItem(IDC_SPIN1));
   // Found out if it is our spin button that sent the message
   // This conditional statement appears useless but so what?
   if (pNMHDR -> hwndFrom == Spinner -> m_hWnd) {
      // Get the current value of the spin button
      int CurPos = pNMUpDown→iPos;
      // Convert the value to a string

      CString str;
      str.Format(L"%d", CurPos);
      // Display the value into the accompanying edit box
      m_editControl.SetWindowText(str);
   }
   *pResult = 0;
}

Bước 6 – Khi đoạn mã trên được biên dịch và thực thi, bạn sẽ thấy đầu ra sau.

MFC – Kiểm soát tiến độ (xem thêm)

Để lại một bình luận