控件的简单用法

来源:互联网 发布:小学手机游戏编程培训 编辑:程序博客网 时间:2024/05/22 03:31

1、CButton

设置按钮上的文本:

  1. CButton* pButton = (CButton *)GetDlgItem(IDOK);   
  2. pButton->SetWindowText("Go");  
2、CStatic

设置Label的文本:

  1. CTime currTime = CTime::GetCurrentTime();  
  2. CString strStartTime = currTime.Format("%H:%M:%S");  
  3. CStatic* pStatic = (CStatic *)GetDlgItem(IDC_STATIC_START_TIME);   
  4. pStatic->SetWindowText(strStartTime);  

3、CProgressCtrl

通过向导创建一个控件变量:

  1. CProgressCtrl m_progress;  

在窗口初始化时,设置进度条的范围:

  1. BOOL CHouseRobotDlg::OnInitDialog()  
  2. {  
  3.     CDialog::OnInitDialog();  
  4.     /// ........   
  5.     m_progress.SetRange(0, 100);  
  6.     /// ........   
  7. }  
更新进度:
  1. m_progress.SetPos(20);  

4、CListCtrl

通过向导创建一个控件变量:

  1. CListCtrl m_ctrlList;  

在窗口初始化时,设置样式和列:

  1. BOOL CHouseRobotDlg::OnInitDialog()  
  2. {  
  3.     CDialog::OnInitDialog();  
  4.     /// ........   
  5.     m_ctrlList.SetExtendedStyle(LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT | LVS_EX_HEADERDRAGDROP);  
  6.     m_ctrlList.InsertColumn(0, "序号", LVCFMT_RIGHT, 50);  
  7.     m_ctrlList.InsertColumn(1, "房号", LVCFMT_LEFT,  100);  
  8.     m_ctrlList.InsertColumn(2, "销售状态", LVCFMT_CENTER, 60);  
  9.     m_ctrlList.InsertColumn(3, "单价", LVCFMT_RIGHT, 60);  
  10.     m_ctrlList.InsertColumn(4, "建筑面积", LVCFMT_RIGHT, 70);  
  11.     m_ctrlList.InsertColumn(5, "户内面积", LVCFMT_RIGHT, 65);  
  12.     m_ctrlList.InsertColumn(6, "分摊面积", LVCFMT_RIGHT, 65);  
  13.     m_ctrlList.InsertColumn(7, "总价", LVCFMT_RIGHT, 90);;  
  14.     /// ........   
  15. }  
清空所有的行:
  1. m_ctrlList.DeleteAllItems();  

获取当前行数:

 

  1. int iIndex = m_ctrlList.GetItemCount();  

插入一行:
  1. CString strTemp;  
  2. int iIndex = m_ctrlList.GetItemCount();  
  3. strTemp.Format("%d", (iIndex + 1));  
  4. m_ctrlList.InsertItem(iIndex, strTemp); /// 行号从0开始,插入到最后一行的下一行  
  5. m_ctrlList.SetItemText(iIndex, 0, strTemp);   /// 第0列文本  
  6. strTemp.Format("%s", house.strNum.c_str());  
  7. m_ctrlList.SetItemText(iIndex, 1, strTemp);   /// 第1列文本  
  8. /// ....其他列文本  

CharFromPos和PosFromChar的用法

    1.

// CMyEdit inherits from CEditvoid CMyEdit::OnLButtonDown(UINT nFlags, CPoint point){   int n = CharFromPos(point);   int nLineIndex = HIWORD(n);   int nCharIndex = LOWORD(n);   TRACE(_T("nLineIndex = %d, nCharIndex = %d\r\n"), nLineIndex, nCharIndex);   CEdit::OnLButtonDown(nFlags, point);}

2.

CPoint PosFromChar(   UINT nChar ) const;

Parameters

nChar

The zero-based index of the specified character.

Return Value

The coordinates of the top-left corner of the character specified by nChar.

Remarks

The character is specified by giving its zero-based index value. If nChar is greater than the index of the last character in this CEdit object, the return value specifies the coordinates of the character position just past the last character in thisCEdit object.