列表框和组合框

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MyCombo应用程序的可视实现
控件属性如下所示:
对 象 ID 组合框 IDC_MY_COMBO 编辑框 IDC_MY_EDIT 按 钮 IDC_TO_BUTTON 按 钮 IDC_EXIT_BUTTON Caption
E&xit
MyCombo对话框的变量表
控 件 ID 变量名 种类 类型
IDC_MY_COMBO
控 件 ID IDC_SELECT_EDIT 变量名 m_SelectEdit 种类 类型
Control CEdit
把变量m_SelectEdit加到IDC_SELECT_EDIT 编辑框控件中时,要保证变量的种类是Conrtol,它所属 的类是CEdit。这样就可以把类CEdit的成员函数提供给编 辑框控件了。
3. 关于对话框的显示
CAboutDlg dlgAbout; dlgAbout.DoModal();
列表框和组合框
列表框和组合框
列表框和组合框在Windows 用户界面机构中担任了重要的角 色。在这一讲中,将学习如何将 列表框和组合框上放进对 话框中,即应用程序的 主窗口是对话框。
MyList应用程序的可视实现
MyList应用程序基于对话框,在用AppWizard 生成项目文件和框架文件时,AppWizard生成一对话 框并把它作为应用程序的主窗口。AppWizard给这个 对话命名为: IDD_MYLIST_DIALOG。
CMyListDlg->IDC_MYLIST->LBN_DBLCLK
从列表框中读取一项
void CMyListDlg::OnDblclkMyList() 单击 Edit Code按钮。 { 为函数OnDblclkMyList()填写代码 // TODO: Add your control notification handler code here //代码开始 char str[50]; m_MyList.GetText(m_MyList.GetCurSel(),str); m_SelectEdit.SetSel(0,-1); m_SelectEdit.ReplaceSel(str); //代码结束 }
List box
初始化列表框
先给列表框连接一个变量:m_MyList,类别是: Control,类型是:CListBox。 连接一段代码到IDD_MYLIST_DIALOG对话框的 WM_INITDIALOG事件,WM_INITDALOG事件在 显示对话框之前产生。
打开ClassWizard对话框。
IDC_MY_EDIT
m_MyCombo
m_MyEdit
Control
Control
CComboBox
CEdit
初始化时的程序代码
// TODO: Add extra initialization here
//添加代码 m_MyCombo.AddString("I'm string a."); m_MyCombo.AddString("I'm string b."); m_MyCombo.AddString("I'm string c.");
m_MyCombo.AddString("I'm string d.");
//代码结束
给按钮连接的代码
void CMyComboDlg::OnToEditButton()
{ // TODO: Add your control notification handler code here //代码开始 char str[25]; m_MyCombo.GetWindowText(str,25); m_MyEdit.SetSel(0,-1); m_MyEdit.ReplaceSel(str); //代码结束 }
单击ClassWizard对话框顶端的Massage Maps标签。
用ClassWizard选择事件。
CMyListDlg->CMyListDlg->WM_INITDIALOG
初始化列表框
BOOL CMyListDlg::OnInitDialog() 在函数 OnInitDialog()中编写代码:
{
……
// TODO: Add extra initialization here
//代码开始
m_MyList.AddString("I'm the first string."); m_MyList.AddString("I'm the second string.");
m_MyList.AddString("I'm the third string.");
类型 CEdit
显示列表框中的项数
void 为按钮 CMyListDlg::OnGetcountButton() m_MyList.GetCount()添加代码 {
// TODO: Add your control notification handler code here
int n; n=m_MyList.GetCount(); char s_n[5]; itoa(n,s_n,10); char str[50]; strcpy(str, "Numer of items in the list box:"); strcat(str, s_n); m_CountEdit.SetSel(0, -1); m_CountEdit.ReplaceSel(str); }
从自己的编码中加入一项到列表框
在对话框中添加一个编辑框和一个按钮。 其属性如下:
对 象 编辑框 按 钮 ID IDC_ADD_EDIT IDC_ADD_BUTTON Caption

控 件 ID IDC_ADD_EDIT
变量名 m_AddEdit
种类
类型
Control CEdit
从自己的编码中加入一项到列表框
}
显示列表框中的项数
在对话框中再添加一个编辑框和一个按钮。 其属性如下:
对 象 ID 编辑框 IDC_COUNT_EDIT 按 钮 IDC_COUNT_BUTTON Caption
m_MyList.GetCount( )
控 件 ID IDC_COUNT_EDIT
变量名 m_CountEdit
种类 Control
为按钮添加代码
void CMyListDlg::OnAddButton() {
// TODO: Add your control notification handler code here
//代码开始 char str[50];
m_AddEdit.GetWindowText(str,50);
m_MyList.AddString(str); //代码结束
所用函数及其功能简介
CListBox成员函数:
1. GetCurSel() 3. GetCount() 返回当前选择项的索引号 获取文本函数。 获取列表框中的项数 将字符加到列表框中 获取编辑框的文本信息 2. GetText(int,char[]) 4. AddString(字符串常量)
CEdit成员函数:
MyCombo应用程序的主窗口是对话框。窗 口布局如下: 组合 框的初始 状态是在 其中添加 四项内容。 每一项是 一个字符 串。
应用程序功能
单击组合框的箭头打开组合框,选中一项。
单击按钮。 选中项被拷贝到编辑框
组合框是由列表框和 编辑框组合而成。
列表框和组合框的 区别:在列表框中用户 不能输入内容,组合框 允许用户输入自己的内 容。
//代码结束 return TRUE; // return TRUE unless you set the focus to a control }
从列表框中读取一项
从列表框中读取一项放入编辑框中。 在对话框中加入一个编辑框,其ID设置为: IDC_SELECT_EDIT。为其连接一个属性如下的变量:
作 业
P275 P290(第二版)
6. 设计一个应用程序,程序的结构是对话框。 窗口布局如下:
作 2.业 在一个程序中将多个应用程序组合起来。
ShellExecute(NULL, NULL, "MyCombo.exe", NULL, "D://c++程序设计//MyComb//Debug",SW_SHOWNORMAL);
5. GetWindowText(char[],int)
பைடு நூலகம் 标准函数:
6. itoa(int,char[], 基数) 将数值转换成字符串
7. strcpy(char[], 字符串常量) 字符串拷贝函数 8. strcat(char[],char[]) 字符串连接函数
应用程序示例2
MyCombo应用程序
从列表框中读取一项
将代码连接到IDC_MY_LIST列表框的 LBN_DBLCLK事件。 当用户在列表框中双击一项时,将产生一个 LBN_DBLCLK事件。
打开ClassWizard对话框。
单击ClassWizard对话框顶端的Massage Maps标签。
用ClassWizard选择事件。
相关文档
最新文档