1.设置操作界面
2.初始化控件
在函数BOOL CBDlg::OnInitDialog()下初始化
//初始化ComboBox控件显示第一个item
CComboBox *pBox = (CComboBox *)GetDlgItem( IDC_mode ) ;
pBox->SetCurSel( 0 ) ;
//B BUTTON控件初始化为灰色
m_B_ok.EnableWindow(false);
//初始化EditBox,显示mode:B
GetDlgItem(IDC_mode_display)->SetWindowText("mode:");
//EditBox换行显示但不清除前面的显示信息
CEdit* pEdit = (CEdit*)GetDlgItem(IDC_mode_display);
int index=pEdit->GetWindowTextLength();
pEdit->SetSel(index, index);
pEdit->ReplaceSel("B");
//在没有选择计算模式和输入参数之前,所有数字button都不可用.
m_one_ok.EnableWindow(false);
m_two_ok.EnableWindow(false);
m_three_ok.EnableWindow(false);
m_four_ok.EnableWindow(false);
m_five_ok.EnableWindow(false);
m_six_ok.EnableWindow(false);
m_seven_ok.EnableWindow(false);
m_eigth_ok.EnableWindow(false);
m_nine_ok.EnableWindow(false);
m_zero_ok.EnableWindow(false);
m_dot_ok.EnableWindow(false);
m_Bequal_ok.EnableWindow(false);
m_backspace_ok.EnableWindow(false);
3.编写控件程序
3.1 计算模式选择ComboBox控件函数
void CBDlg::OnSelchangemode()
{
CString strCBText;
int nIndex;
GetDlgItem(IDC_display)->SetWindowText("");
// 获得索引号
nIndex = ((CComboBox*)GetDlgItem(IDC_mode))->GetCurSel();
//获得索引号对应的内容
((CComboBox*)GetDlgItem(IDC_mode))->GetLBText(nIndex,strCBText);
//模式改变后,模式显示模块显示内容也随着变化
GetDlgItem(IDC_mode_display)->SetWindowText("mode:");
CEdit* pEdit = (CEdit*)GetDlgItem(IDC_mode_display);
int index=pEdit->GetWindowTextLength();
pEdit->SetSel(index, index);
pEdit->ReplaceSel(strCBText);
//判断选择的模式
if (strCBText == "s")
{
ctrl_control(IDC_mode_display,"(B<1)");
mode = 's';
m_s_ok.EnableWindow(false);
m_a_ok.EnableWindow(true);
m_B_ok.EnableWindow(true);
m_one_ok.EnableWindow(false);
m_two_ok.EnableWindow(false);
m_three_ok.EnableWindow(false);
m_four_ok.EnableWindow(false);
m_five_ok.EnableWindow(false);
m_six_ok.EnableWindow(false);
m_seven_ok.EnableWindow(false);
m_eigth_ok.EnableWindow(false);
m_nine_ok.EnableWindow(false);
m_zero_ok.EnableWindow(false);
m_dot_ok.EnableWindow(false);
m_Bequal_ok.EnableWindow(false);
m_backspace_ok.EnableWindow(false);
}
if (strCBText == "a")
{
ctrl_control(IDC_mode_display,"(B<1)");
mode = 'a';
m_s_ok.EnableWindow(true);
m_a_ok.EnableWindow(false);
m_B_ok.EnableWindow(true);
m_one_ok.EnableWindow(false);
m_two_ok.EnableWindow(false);
m_three_ok.EnableWindow(false);
m_four_ok.EnableWindow(false);
m_five_ok.EnableWindow(false);
m_six_ok.EnableWindow(false);
m_seven_ok.EnableWindow(false);
m_eigth_ok.EnableWindow(false);
m_nine_ok.EnableWindow(false);
m_zero_ok.EnableWindow(false);
m_dot_ok.EnableWindow(false);
m_Bequal_ok.EnableWindow(false);
m_backspace_ok.EnableWindow(false);
}
if (strCBText == "B")
{
mode = 'B';
m_s_ok.EnableWindow(true);
m_a_ok.EnableWindow(true);
m_B_ok.EnableWindow(false);
m_one_ok.EnableWindow(false);
m_two_ok.EnableWindow(false);
m_three_ok.EnableWindow(false);
m_four_ok.EnableWindow(false);
m_five_ok.EnableWindow(false);
m_six_ok.EnableWindow(false);
m_seven_ok.EnableWindow(false);
m_eigth_ok.EnableWindow(false);
m_nine_ok.EnableWindow(false);
m_zero_ok.EnableWindow(false);
m_dot_ok.EnableWindow(false);
m_Bequal_ok.EnableWindow(false);
m_backspace_ok.EnableWindow(false);
}
}
3.2输入参数选择控件
3.2.1 参数a控件