vs如何在组合框获取当前时间

vs如何在组合框获取当前时间,第1张

打开Demo项目,在对话框中添加3个组合框,1个编辑框,1个静态文本以及1个按钮。

程序功能:通过第二个组合框选择加减乘除,第1个组合框选择数据,第3个组合框既可以选择数据,也可以输入数据;点击计算按钮计算结果并送入编辑框显示。

打开组合框的属性页,可以在data属性中直接添加数据,用分号隔开,再把sort改为false,否则数据的就会按它的排序方式进行排序,而不一定是数据输入的顺序了。最后说是Type属性,这个用于修改组合框的款式:

Simple:一般不用;

Drop Down:默认,可以输入数据,也可以选择数据;

Drop List:只能选择数据,无法输入数据;

第1个组合框选择Drop Down,data改为:1020304050

第2个组合框选择Drop List,data添加为+-*/

第3个组合框选择Drop Down,data暂时不填;

所有组合框的sort属性均为false。

修改ID:

组合框1:IDC_Num1;组合框2:IDC_Algor;组合框3:IDC_Num2;

编辑框:IDC_Result;按钮:IDC_CALC;

添加变量:

组合框1:CComboBox m_num1

组合框2:CComboBox m_algor

组合框3:CString m_num2CComboBox m_num2Control

编辑框:double m_result

添加函数:

按钮按下事件处理函数:OnBnClickedCalc()

修改初始化函数OnInitDialog():

通过组合框的成员函数AddString给第3个组合框添加项1、2、3、4、5;

m_num2Control.AddString(_T("1"))

m_num2Control.AddString(_T("2"))

m_num2Control.AddString(_T("3"))

m_num2Control.AddString(_T("4"))

m_num2Control.AddString(_T("5"))

将三个组合框的默认选项设为第一项:

m_num2Control.SetCurSel(0)

m_num1.SetCurSel(0)

m_algor.SetCurSel(0)

编写按钮按下事件处理函数,先获取数据,然后根据选择的算法计算结果,最后进行更新。

UpdateData(true)

m_result = 0

double num1 = (m_num1.GetCurSel() + 1) * 10

double num2 = atof(str2char(m_num2))

//str2char是自己写的函数,下一步有解释

switch (m_algor.GetCurSel())

{

case 0:m_result = num1 + num2break

case 1:m_result = num1 - num2break

case 2:m_result = num1 * num2break

case 3:m_result = num1 / num2break

}

UpdateData(false)

由于在unicode编码中,无法直接从CString转换到const char*,隐藏atof函数无法直接把字符串转换为浮点型数据,需要经过中间转换步骤将字符串类型转为const char*类型。这就是str2char需要完成的任务:

char* CDemoDlg::str2char(CString str)

{

char *ptr

#ifdef _UNICODE

LONG len

len = WideCharToMultiByte(CP_ACP, 0, str, -1, NULL, 0, NULL, NULL)

ptr = new char[len + 1]

memset(ptr, 0, len + 1)

WideCharToMultiByte(CP_ACP, 0, str, -1, ptr, len + 1, NULL, NULL)

#else

ptr = new char[str.GetAllocLength() + 1]

sprintf(ptr, _T("%s"), str)

#endif

return ptr

}

这个函数大家可以保存下来,相信肯定会有用到的时候。

测试程序功能,启动调试,选择算法,选择数据或者输入数据,点击计算得出结果。

1、用VS2012新建一个VB窗口应用程序,进入窗体设计视图,添加一个菜单。

2、右击需要更改为组合框的菜单项,在d出的内容选择“转换为”->"ComboBox"。

3、对应的菜单项便由按钮变成了组合框。

4、运行程序可以看到刚刚添加的“串口”菜单项是以组合框的形式出现的。

5、结束调试,回到窗体设计,右击“串口”菜单项,选择“属性”。

6、关注“设计”下的Name,这个就是刚刚添加的组合框菜单项的名称,可以通过这个名称对该菜单项进行 *** 作,可以看到在VS2012的VB中是可以使用汉字作为控件名称的。

7、在窗体的Load事件中添加该组合框的初始化代码,即添加“串口1”、“串口2”、“串口3”等。

如果是可视化 *** 作,先加一控件,再拖放groupBox在其背后

如果动态创建控件,那就高度灵活,只要将其父控件理解成窗口,自然可以在该窗口中做任何东西,包括,再添加控件。

更多交流参考我空间文章发。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11938438.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存