winForm界面编程-------------RadioButton遍历

UINT  GetCheckedRadioButton(HWND hwnd, UINT nIDFirstButton, int nIDLastButton)
{
    for (UINT nID = nIDFirstButton; nID <= nIDLastButton; nID++)
    {
        HWND hwnd1 = GetDlgItem(hwnd, nID);
        int checkState = Button_GetCheck(hwnd1);
        if (BST_CHECKED == checkState)
            return nID;
    }
    return 0;
}

RadioButton 和GroupBox  

在GroupBox中使用了多个单选按钮:RadioButton,感觉一个个判断哪一个被选中过于麻烦,于是,上网找到了以上的解决办法,结合自己的项目,写了上面的获取被选中Button ID的方法

nIDFirstButton代表第一个RadioButton ID

nIDLastButton代表最后一个RadioButton ID

GetDlgItem(HWND hwnd,UINT id) 根据控件ID获取句柄

Button_GetCheck(UINT id) 返回Button的选择状态: BST_CHAECKED 选中状态

GetDlgItemText(hwnd, IDC_EDIT1, TextInput, sizeof(TextInput)); 获取文本框内用户输入的文本 hwnd为文本框所在界面的句柄,TextInput为TCHAR类型的数组,用于保存获取的文本 IDC_EDIT1为文本框ID

MessageBox(hwnd,TEXT,TEXT,ID)

第一个TEXT代表对话框要显示的内容

第二个TEXT为对话框的标题

关于wsprintf:(Copy自其他地方)

在C语言中格式化字符串可以使用printf,但是在WINDOWS编程设计中却行不通了,但是却有变通的方法,那就是用 wsprintf这个函数 它的格式如下:

wsprintf(缓冲区,格式,要格式化的值);
第一个参数是字符缓冲区,后面是格式字符串,wsprintf不是将格式化结果写到标准输出,而是将其写入缓冲区中,该函数返回该字符串的长度。

比如我们想通过MessageBox来输出一个整形变量的值,可以用以下代码实现:
char szBuffer[100];
ing number=100;
wsprintf(szBuffer, “%d”,number);
MessgaeBox(NULL,szBrffer,TEXT(“格式化字符串”),0);
这个函数除了将内容格式化输出到第一个参数所提供的字符串缓冲区以外,其它功能与printf函数相同

wsprintf对应的字符串是宽字符型wchar_t,即一个字符占用2个字节的内存空间.
sprintf对应的字符串是字符类型为char,几一个字符占用1个字节的内存空间.
sprintf是用于对ASCII码的127个字符进行操作,wsprintf是对UNICODE的多语言字符进行操作.
如:
sprintf(buffer, "ascii");
wsprintf(buffer, L"unicode");

posted on 2014-04-05 21:28 code_focus 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/code-focus/p/3647582.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值