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

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


  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1,indicator.ZIP数据棒图件(200KB)2,xjtpripr.ZIP 打印预览件(257KB) 3,trend.ZIP趋势件可用于科学,工业监,数据采集,股市分析等领域的数据显示、分析、打印(305KB) 4,dxcontrol.ZIP API 函数件,包含输入、声音、图形等(358KB)5,gauge.ZIP 件支持多数据处理和鼠标制操作(232KB)6,meter.ZIP 圆盘仪表件(240KB) 7,percent.ZIP 百分比件的应用范围非常广泛,既适用于通用的软件系统,也可用于科学、统计、工业监等多种实时数据领域(192KB)8,slider.ZIP Slider 件不但可生成通用的滑块制,而且内置了大量的指针、刻度、数据棒风格用于组合生成各式各样的线形制(246KB)9,imgctls.ZIP 该件包含两个件,ImgListBox和ImgComboBox(56KB)10,nslock15.ZIPSheridan Soft出品Outlook风格的工具栏件(97KB)11,CDrom.ZIP 制光驱的东东(5KB)12,ActiveSkin.ZIP界面美化(69KB)13,FOXHWND.ZIP 一个比MCI32更出色的多媒体件(14KB)14,ACTIVEXSQL.ZIP SQL接口件(29KB)15,Big2GB.ZIP 简繁体转换(41KB) 16,ACTIVEZIPPER.ZIP 高效率的压缩件(11KB)17,BOOKMARK.ZIP BOOKMARK件(20KB)18,AresButtonPro.ZIP 任意形状立体动态按钮(306KB)19,SysTray.ZIP 托盘件(9KB) 20,Recorder.ZIP 录音件(15KB)21,CRESCENT2.ZIP crescent公司的internet 编程套件2.0(2,642KB)22,XCEEDZIP.ZIP XCEEDZIP解压缩件(987KB) 23,ZIP_ACTOCX.ZIP ZIP_ACT解压缩件(26KB)24,Dssocket.ZIP Dssocket是用来设计TCP/IP软件的VBX/OCX件(781KB)25,ZIPOCXCMP.ZIP ZIPOCXCMP解压缩件(83KB)26,DYNACUBE.ZIP DynamiCube 32-bit数据库件(1,282KB)27,DYNAZIP30.ZIP DynaZIP解压缩件(299KB)28,f[1].ZIP 使你的程序提供打印和打印预览功能件(59KB)29,b[1].ZIP 使你的应用程序能够通过internet连接在线检查更新版本(511KB)30,c[1].ZIP 可以清晰朗读汉字,英文字母和数字的ActiveX件(3,768KB) 31,cdnotiy.ZIP 当光盘被放进光驱或光驱里有光盘时便触发了这个件(38KB)32,Mp3play.ZIP MP3PLAY 1.4 新版, 播放MP3的件(181KB)33,mp3dll.ZIP 又一个简单播放MP3的件(82KB)34,Zcg_3DLabel.ZIP 一个3D标签件(15KB)<b

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值