code:
//c++文本输入框的操作:
bool isnumber(char *str1,char *str2) //判断它是不是输入的数字
{
int i,flag=1;
for(i=0;i<strlen(str1);i++)
{
if ( (str1[i]<'0' || str1[i]>'9')&&str1[i]!='.'&&str1[i]!='.') //右边小键盘上的和中间键盘上的点它不认为是相同的
{
flag=0;return FALSE;
}
}
if (flag==1)
{
for(i=0;i<strlen(str2);i++)
if ( (str2[i]<'0' || str2[i]>'9') &&str2[i]!='.'&&str1[i]!='.')
{
flag=1;return FALSE;
}
}
return TRUE;
}
void Main_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify)
{
switch(id)
{
case IDC_OK:
{
TCHAR str1[256],str2[256];
GetDlgItemText(hwnd,IDC_EDIT1,str1,sizeof(str1)); //得到输入的字符串
GetDlgItemText(hwnd,IDC_EDIT2,str2,sizeof(str2));//得到输入的字符串
if (isnumber(str1,str2))
{
double i1=atof(str1);
double i2=atof(str2);
double i3;
char str[256];
HWND hwndcombo1 = GetDlgItem(hwnd,IDC_COMBO1); //通过这个得到选择框的句柄
int cursel=ComboBox_GetCurSel(hwndcombo1); // 通过句柄得到选择了当前编号值
// 0 1 2 3分别为 + - * / 的编号值
// ComboBox_GetLBText(hwndcombo1,cursel,str); // 通过编号值得到字符串值,放到str 里面,这里只有几个选项,直接用编号值判断就行
switch(cursel)
{
case 0:
i3=i1+i2;
break;
case 1:
i3=i1-i2;
break;
case 2:
i3=i1*i2;
break;
case 3:
i3=i1/i2;
break;
}
TCHAR str3[256];
sprintf(str3,"%lf",i3);
SetDlgItemText(hwnd,IDC_EDIT3,str3);
}
else
SetDlgItemText(hwnd,IDC_EDIT3,"请输入数字");
}
break;
default:
break;
}
}
//c++下拉框的操作。
case IDC_BUTTONADD: //添加
{
TCHAR STR[256];
GetDlgItemText(hwnd,IDC_EDITADD,STR,sizeof(STR)); // 得到添加框内的字符串
if (STR!=NULL)
{
HWND COM1=GetDlgItem(hwnd,IDC_COMBO1); // 组合框句柄
ComboBox_AddString(COM1,STR); // 向里面加入字符串
SetDlgItemText(hwnd,IDC_EDITADD,NULL); // 将添加框清空
MessageBox(hwnd,"添加成功!","提示",MB_OK);
}
}
break;
case IDC_BUTTONDEL: // 删除
{
HWND COM1=GetDlgItem(hwnd,IDC_COMBO1);
int cur=ComboBox_GetCurSel(COM1); // 得到当前选择的项
if (CB_ERR==cur) // 如果没有选择东西
{
MessageBox(hwnd,"没有数据被选择","错误",MB_OK|MB_ICONERROR);
}
ComboBox_DeleteString(COM1,cur);
}
break;
case IDC_BUTTONSEARCH: // 查找
{
TCHAR STRS[256];
GetDlgItemText(hwnd,IDC_EDITSEARCH,STRS,sizeof(STRS)); // 得到查找的字符串
HWND EDITS= GetDlgItem(hwnd,IDC_COMBO1);
bool bfind=FALSE;
int i=0,icount=ComboBox_GetCount(EDITS),ifind; // 得到组合框中的数据有多少条
for(;i<icount;i++) // 逐条搜索
{
TCHAR strte[256];
ComboBox_GetLBText(EDITS,i,strte); // 得到每条数据的字符串
if (strcmp(strte,STRS)==0) // 比较
{
bfind=true; ifind=i;break;
}
}
if (bfind) // 找到才提示,并将组合框中选中项设为找到的值
{
ComboBox_SetCurSel(EDITS,ifind);
MessageBox(hwnd,TEXT("找到了"),TEXT("结果"),MB_OK);
}
}
break;
//C++ 中列表框控件的使用():
void Main_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify)
{
switch(id)
{
case IDC_OK:
{
MessageBox(hwnd,TEXT("adsdad"),TEXT("问好"),MB_OK);
}
break;
case IDC_btnAdd:
{
SendDlgItemMessage(hwnd,IDC_LIST1,LB_ADDSTRING,0,(LPARAM)"aaa");
SendDlgItemMessage(hwnd,IDC_LIST1,LB_ADDSTRING,0,(LPARAM)"bbb");
SendDlgItemMessage(hwnd,IDC_LIST1,LB_ADDSTRING,0,(LPARAM)"ccc");
SendDlgItemMessage(hwnd,IDC_LIST1,LB_ADDSTRING,0,(LPARAM)"ddd");
}
break;
case IDC_LIST1://IDC_LIST1的事件
{
if(LBN_DBLCLK==codeNotify)//双击事件
{
int index=SendDlgItemMessage(hwnd,IDC_LIST1,LB_GETCURSEL,0,0);
TCHAR buff[255];
SendDlgItemMessage(hwnd,IDC_LIST1,LB_GETTEXT,index,(LPARAM)buff);
MessageBox(hwnd,buff,"提示",MB_OK);
}
else if(LBN_SELCHANGE==codeNotify)//选项改变事件
{
int index=SendDlgItemMessage(hwnd,IDC_LIST1,LB_GETCURSEL,0,0);
TCHAR buff[255];
SendDlgItemMessage(hwnd,IDC_LIST1,LB_GETTEXT,index,(LPARAM)buff);
MessageBox(hwnd,buff,"提示",MB_OK);
}
}
break;
default:
break;
}
}
//C++MFC中列表框控件的使用():
CListBox *listbox2= (CListBox*)GetDlgItem(IDC_LIST2); //获得列表框的指针
listbox2->AddString("菠萝"); //为列表框添加列表项
listbox2->AddString("苹果");
listbox2->AddString("桃子");
listbox2->AddString("西瓜");
listbox2->AddString("香蕉");
CListBox *listbox3= (CListBox*)GetDlgItem(IDC_LIST3); //获得列表框的指针
listbox3->AddString("格尺"); //为列表框添加列表项
listbox3->AddString("橡皮");
listbox3->AddString("胶带");
listbox3->AddString("铅笔");
//【加在 BOOL CListTestDlg::OnInitDialog()里的】
void CListTestDlg::OnButton1()
{
CListBox *listbox1= (CListBox*) GetDlgItem(IDC_LIST1); //得到列表控件的指针
listbox1->AddString("北京"); //向列表中添加内容
listbox1->AddString("长春");
listbox1->AddString("上海");
listbox1->AddString("南京");
}
void CListTestDlg::OnButton2()
{
CListBox *listbox2=(CListBox*)GetDlgItem(IDC_LIST2); //得到列表控件的指针
listbox2->SelectString(0,"桃子"); //查找列表中“桃子”一项
}
void CListTestDlg::OnSelchangeList3()
{
CListBox *listbox3= (CListBox*)GetDlgItem(IDC_LIST3); //得到列表框的指针
int select;
select=listbox3->GetCurSel(); //得到当前列表框中选项的索引
CString str;
listbox3->GetText(select,str); //得到列表索引指向的文本内容
CButton *button3= (CButton*)GetDlgItem(IDC_BUTTON3); //得到按钮指针
button3->SetWindowText(str); //设置按钮文本
}
void CListTestDlg::OnButton4()
{
CListBox *listbox4= (CListBox*) GetDlgItem(IDC_LIST4); //得到列表控件指针
listbox4->Dir(DDL_DIRECTORY,"c://*.*"); //向列表框中添加C盘驱动器文件名列表
}
//C++MFC中按钮控件的使用:
CButton *button1=(CButton*)GetDlgItem(IDC_BUTTON1); //得到按钮的指针
button1->ModifyStyle(0,BS_ICON); //设置按钮风格为图表显示
button1->SetIcon(AfxGetApp()->LoadIcon(IDI_ICON1)); //按钮以图标显示
CButton *button3=(CButton*)GetDlgItem(IDC_BUTTON5);
button3->SetButtonStyle(BS_RADIOBUTTON); //设置按钮风格为单选按钮
//【上面的是放在 BOOL CButtonTestDlg::OnInitDialog() 中的】
void CButtonTestDlg::OnButton2()
{
SetCursor(AfxGetApp()->LoadCursor(IDC_CURSOR1)); //设置光标
}
void CButtonTestDlg::OnButton3()
{
CButton *button5=(CButton*)GetDlgItem(IDC_BUTTON5); //得到按钮指针
button5->SetCheck(true); //选中单选按钮
}
void CButtonTestDlg::OnButton4()
{
CButton *button5=(CButton*)GetDlgItem(IDC_BUTTON5); //得到按钮指针
button5->SetCheck(false); //取消单选按钮的选中
}
//C++MFC中编辑框的使用:
//四个编辑框,四个按钮,不同功能
void CEditTestDlg::OnButton1()
{
CEdit* edit1= (CEdit*)GetDlgItem(IDC_EDIT1); //得到编辑框的指针
edit1->SetWindowText("it科技"); //设置编辑框中的内容
}
void CEditTestDlg::OnButton2()
{
CEdit* edit2= (CEdit*)GetDlgItem(IDC_EDIT2); //得到编辑框的指针
edit2->Undo(); //取消上一次的操作
}
void CEditTestDlg::OnButton3()
{
CEdit* edit3= (CEdit*)GetDlgItem(IDC_EDIT3); //得到编辑框的指针
edit3->SetPasswordChar('*'); //设置密码输入字符
}
void CEditTestDlg::OnButton4()
{
CEdit* edit4= (CEdit*)GetDlgItem(IDC_EDIT4);
edit4->ModifyStyle(0,ES_NUMBER); //第一个参数代表要移除的窗口风格,第二个是要添加的窗口风格(只能输入数字)
}