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

c++几种常用的界面控件的使用1的相关文章

基于MVC4+EasyUI的Web开发框架形成之旅之界面控件的使用_javascript技巧

在前面介绍了两篇关于我的基于MVC4+EasyUI技术的Web开发框架的随笔,本篇继续介绍其中界面部分的一些使用知识,包括控件的赋值.取值.清空,以及相关的使用. 我们知道,一般Web界面包括的界面控件有:单行文本框.多行文本框.密码文本框.下拉列表Combobox.日期输入控件.数值输入控件.单项选择.复选框.表格控件DataGrid.树形控件.布局控件.弹出式对话框.提示信息.列表控件等,这些界面控件的操作都有哪些不同,下面我们来逐一进行介绍.   1.单行文本框 使用easyui的控件,单

基于MVC4+EasyUI的Web开发框架形成之旅--界面控件的使用

在前面介绍了两篇关于我的基于MVC4+EasyUI技术的Web开发框架的随笔,本篇继续介绍其中界面部分的一些使用知识,包括控件的赋值.取值.清空,以及相关的使用. 我们知道,一般Web界面包括的界面控件有:单行文本框.多行文本框.密码文本框.下拉列表Combobox.日期输入控件.数值输入控件.单项选择.复选框.表格控件DataGrid.树形控件.布局控件.弹出式对话框.提示信息.列表控件等,这些界面控件的操作都有哪些不同,下面我们来逐一进行介绍. 1.单行文本框 使用easyui的控件,单行文

聊天主题:如何用C#定制个性化的界面控件

控件 聊天主题:如何用C#定制个性化的界面控件 主持人和专家介绍主持人:Guest_jswang_MS 微软专家: 韩定一(Guest_Danny_MS),赵彦(Guest_Francs_MS) Host Guest_jswang_MS says: 欢迎大家参加微软在线技术聊天. Host Guest_jswang_MS says: 本次聊天的主题是如何用C#定制个性化的界面控件 Host Guest_jswang_MS says: 首先,让我们欢迎来自微软全球技术中心工程师赵彦,韩定一 Hos

一起谈.NET技术,用优秀.NET界面控件 打造新潮界面效果

一直以来,做.NET共享小软件的界面一般采用IrisSkin这个比较不错的皮肤控件来美化界面效果,方便易用,界面效果也还可以.该控件开发应用比较方便,拖动控件到主界面,然后初始化地方添加一下代码即可: string skinFile = ConfigurationManager.AppSettings["SkinFile"];this.skinEngine1.SkinFile = Path.Combine(Application.StartupPath, skinFile); 主界面初

用优秀.NET界面控件 打造新潮界面效果

一直以来,做.NET共享小软件的界面一般采用IrisSkin这个比较不错的皮肤控件来美化界面效果,方便易用,界面效果也还可以.该控件开发应用比较方便,拖动控件到主界面,然后初始化地方添加一下代码即可: string skinFile = ConfigurationManager.AppSettings["SkinFile"]; this.skinEngine1.SkinFile = Path.Combine(Application.StartupPath, skinFile); 主界面

利用优秀的.NET界面控件,打造新潮的界面效果

一直以来,做.NET共享小软件的界面一般采用IrisSkin这个比较不错的皮肤控件来美化界面效果,方便易用,界面效果也还可以.如下面我做的QQ搜通天的界面效果如下:http://www.iqidi.com/Download/qqcollector1.png (不贴图了,省得说广告嫌疑).该控件开发应用比较方便,拖动控件到主界面,然后初始化地方添加一下代码即可:             string skinFile = ConfigurationManager.AppSettings["Skin

timer-为什么在Forms.Timer的事件处理程序里,界面控件依然是不可访问的?

问题描述 为什么在Forms.Timer的事件处理程序里,界面控件依然是不可访问的? 为什么在System.Windows.Forms.Timer的事件处理程序里,界面控件依然是不可访问的? 为什么在System.Windows.Forms.Timer的事件处理程序里,界面控件依然是不可访问的? 为什么在System.Windows.Forms.Timer的事件处理程序里,界面控件依然是不可访问的? 解决方案 自己结贴了.是VS软件的问题,重启下居然好了,抓狂了大半天. 解决方案二: 是跨线程调

WinForm 清空界面控件值的小技巧

在WinForm里面有时候需要清空自己输入内容或是选择的选项,以便重新操作流程,那么一般你是怎么清空界面各个控件值的呢?如果窗体里面控件, 尤其是TextBox控件比较多的时候,代码里面是不是要设置每个控件的Text属性值为空呢?下面我用这个例子,来探讨下清空界面控件值的小技巧.而且 还能复用.不必每个窗体都做这些枯燥.无聊的工作. 一般的做法是在清除控件的事件里面添加下面这样的代码: 代码Code highlighting produced by Actipro CodeHighlighter

移动开发-在移动界面控件Essential Studio for mobile MVC中如何创建Razor应用程序平台

问题描述 在移动界面控件Essential Studio for mobile MVC中如何创建Razor应用程序平台 在移动界面控件Essential Studio for mobile MVC中如何创建Razor应用程序平台····?