FMC编程基础·常用控件

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

MFC编程基础
————常用控件
一、编辑框
增加响应,在编辑框输入文字,点确定,有反应
1.关联编辑框的成员变量
2.添加按钮的响应函数(双击按钮)
void CEx040105aDlg::OnOK()
{
CDialog::OnOK();
CString strMess ;
strMess.Format("你输入的数是%d\n",m_iIntvalue);
AfxMessageBox(strMess);
}
二、数字滚选按钮
在包含数字的变量控件旁边添加可以控制数字
仅仅勾选即可,需勾选
样式属性栏
1、自动结伴(auto buddy)
2、设置结伴整数(set buddy integer)
三、按钮按键
双击按钮,添加函数
四、列表框
1、增加一个ClistBox关联,变量名m_nameListBox
2、在初始化函数中初始ListBox。

{
……
// TODO: Add extra initialization here
int nItem = m_nameListBox.AddString("张三");
m_nameListBox.SetItemData(nItem,3);//3 is ID
nItem = m_nameListBox.AddString("张三1");
m_nameListBox.SetItemData(nItem,5);
nItem = m_nameListBox.AddString("张三2");
m_nameListBox.SetItemData(nItem,7);
return TRUE;
// return TRUE unless you set the focus to a control }
3、为ListBox 增加LBN_SELCHANGE消息的响应函数:
void CEx040105aDlg::OnSelchangeList1()
{
// TODO: Add your control notification handler code here
int nSel = m_nameListBox.GetCurSel();
if(-1!= nSel)
{
CString strName;
m_nameListBox.GetText(nSel,strName);
UINT uID = m_nameListBox.GetItemData(nSel);
CString strMess;
strMess.Format("你选了%s, ID是%u",strName, uID);
AfxMessageBox(strMess);
}
}
五、复选框和单选框
1、单选框属性,勾选群组(group),关联第一个单选框
如:m_iSel。

2、添加按钮响应函数
void CEx040105Dlg::OnOK()
{
CDialog::OnOK();
CString strMess;
if(0== m_iSex)
strMess="你是帅哥!\n";
else if(1 == m_iSex)
strMess= "你是美女!\n";
else
strMess= "性别未知!\n";
strMess += "-------------------------------------------\n
你的爱好\n";
CButton *pBtn = NULL;
pBtn = (CButton *)GetDlgItem(IDC_CHECK1);
if(NULL != pBtn && pBtn->GetCheck())
strMess += "中国象棋\n";
pBtn = (CButton *)GetDlgItem(IDC_CHECK2);
if(NULL != pBtn && pBtn->GetCheck())
strMess += "聊天\n";
pBtn = (CButton *)GetDlgItem(IDC_CHECK3);
if(NULL != pBtn && pBtn->GetCheck())
strMess += "游戏\n";
AfxMessageBox(strMess);
}
六、组合框
注意:ctrl+Enter 换行
添加OK响应代码:
void CEx040105dDlg::OnOK()
{
// TODO: Add extra validation here
C String strMess;
GetDlgItem(IDC_COMBO1)->GetWindowText(strMess);
strMess = "你的爱好是:" + strMess;
AfxMessageBox(strMess);
CDialog::OnOK();
}
七、进度条
1、插入进度条,关联一个变量m_progress
2、在初始函数上初始化
BOOL CEx040105eDlg::OnInitDialog()
{
CDialog::OnInitDialog();
…………………………
// TODO: Add extra initialization here
m_progress.SetRange(0,100);
//设置进度的上下限,默认是0,100
m_progress.SetStep(5);
//设置StepIt一次移动多少进度,默认是10
m_progress.SetPos(0);
//设置进度条的初始进度
return TRUE;
// return TRUE unless you set the focus to a control
}
3、添加一个下一步按钮,为其响应
void CEx040105eDlg::OnButton1()
{
// TODO: Add your control notification handler code here
//int i;
//for(i=0; i<20; i++)
//{
m_progress.StepIt();
// Sleep(50);
}
八、滑标控件
1、增加控件,关联一个变量CSliderCtrl m_Slider
2、初始代码
……
// TODO: Add extra initialization here
m_Slider.SetRange(0,20);//范围是0,200
m_Slider.SetLineSize(4);//键盘的方向键一次移动四单位
m_Slider.SetPageSize(5);//用户单击一下鼠标移动5单位
return TRUE;
// return TRUE unless you set the focus to a control
}
3、增加确定按钮的响应函数
void CEx040105fDlg::OnOK()
{
// TODO: Add extra validation here
int nScale = m_Slider.GetPos();
CString strMess;
strMess.Format("当前刻度是%d",nScale);
AfxMessageBox(strMess);
CDialog::OnOK();
}。

相关文档
最新文档