01
2014
04

c++几种常用的界面控件的使用1

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




版权声明:
作者:真爱无限 出处:http://www.pukuimin.top 本文为博主原创文章版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接.
« 上一篇下一篇 »

相关文章:

评论列表:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。