谢霆锋咏春百度云:vc 组合框

来源:百度文库 编辑:九乡新闻网 时间:2024/05/06 04:15:05
响应组合框的CBN_SELCHANGE消息,关联控件变量m_ctlPageCombovoid CAnyPageDlg::OnSelchangePageCombo(){// TODO: Add your control notification handler code hereCString count;//获取组合框内选择的字符串m_ctrlPageCombo.GetLBText(m_ctrlPageCombo.GetCurSel(), count);GetItemDlg(IDC_EIDT1)->SetWindowText(count);}//IDC_EDIT1是编辑框的ID,也可关联CString变量,例如:CString m_strEdit;void CAnyPageDlg::OnSelchangePageCombo(){// TODO: Add your control notification handler code hereCString count;m_ctrlPageCombo.GetLBText(m_ctrlPageCombo.GetCurSel(), count);m_strEdit = count;UpdateData(FALSE);}
 
 
--------------------------------------

不少人对组合框的使用存在疑惑,提出过不少次的提问,针对这个问题,从网上抄下一些资料,供大家参考
当 用 资 源 编 辑 器 在 一 个 对 话 框 中 生 成 组 合 框 控件 时, 可 以 看 到 组 合 框 两 侧 的 控 制 点 是 实 心,
而 上 下四 周 的 控 制 点 是 虚 心 的, 即 组 合 框 水 平 方 向 的 大 小 可以 通 过 拖 动 组 合 框 控 件 两 侧 的 实 心
控 制 点 改 变, 垂 直方 向 的 大 小 则 不 能 改 变。 为 了 改 变 垂 直 方 向 的 大 小,可 以 用 鼠 标 单 击 组 合 框 控
件 的 下 拉 箭 头, 可 以 看 到 控件 的 上 下 的 控 制 点 变 成 实 心, 此 时 可 以 拖 动 该 控 制 点将 组 合 框 的 高
度 改 变。 当 运 行 程 序 时, 按 下 下 拉 箭头,Windows 利 用 该 高 度 重 置 组 合 框 的 大 小。

---- 如 果 组 合 框 中 各 列 表 项 是 固 定 的, 则 可 以 预 先 将这 些 项 写 进 组 合 框。 方 法 是: 打 开 资 源 编 辑
器, 从 组合 框 的 属 性(Proprities) 对 话 框 中 选 择Data 标 签, 在"Enter listbox Items" 列 表 框 中 填 加 各 列 表 项,
注 意 加 完 一 项 换行 时, 必 须 用Ctrl+Enter 组 合 键。 如 果 希 望 以 输 入 的 次 序来 显 示 各 项, 则 不 要 选 择
Styles 标 签 的Sort 项。 填 加 完 列表 项 后, 利 用 上 述 方 法 改 变 组 合 框 的 高 度( 否 则 程 序运 行 后, 单 击 组
合 框 下 拉 箭 头 列 表 框 不 出 现), 这样, 运 行 程 序 后, 单 击 组 合 框 的 下 拉 箭 头 可 以 看 到 各列 表 项 已
加 入 到 组 合 框 的 列 表 框 中。

  int GetCurSel() const 得到当前选项的索引,
  失败则返回CB_ERR。
  Int SetCurSel(int nSelect);
   如果函数调用成功,返回当前选项索引。如果nSelect的值超出范围,或为-1,则返回CB_ERR,并清除当前选项。
  int GetLBText(int nIndex,Cstring& rString ) const
  void GetLBText(int nIndex, LPTSTR lpszText) const
   如果函数调用成功,则返回字符串的字节长度(不包括末尾的空字符)。如果nIndex并非合法的索引,则返回CB_ERR。
   nIndex----指定将获取文本选项的索引。
   LpszText---指定将用以存放所得文本的缓冲区指针。该缓冲区必须足够容纳要获取的文本及其结尾空字符。
  rString:用于存放所的文本的Cstring对象
  int GetLBTextLen( int nIndex) const
  如果函数调用成功,则返回字符串的字节长度(不包括末尾的空字符)。如果nIndex并非合法的索引,则返回CB_ERR。
  nIndex----指定将获取组合框选项的索引。
  -----------------------------------------------------------
  ComboBox(下拉框)的用法:
  CComboBox m_cob;
  CString m_Getstring;
  m_cob.GetLBText(m_cob.GetCurSel(),m_Getstring);//把选择的内容传给m_Getstring
  
  void CBaDialog::OnTimer(UINT nIDEvent) 
  { //设置列表框的选择 当再一次选择时 重新设置按钮的属性
   // TODO: Add your message handler code here and/or call default
   CString m_string;
   m_cob.GetLBText(m_cob.GetCurSel(),m_string);
   if(m_Getstring!=m_string)
   {
   GetDlgItem(IDC_STATR)->EnableWindow(TRUE);
   this->Enable(FALSE);
   }
   CDialog::OnTimer(nIDEvent);
  }