//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); //第一个参数代表要移除的窗口风格,第二个是要添加的窗口风格(只能输入数字) }
时间: 2024-12-23 07:32:26