代码改变世界

Win32 控件篇(4)

  Clingingboy  阅读(2077)  评论(0编辑  收藏  举报

 

6.16 如何在按钮上显示图标

  1. 加载资源
  2. 转换成ICON对象
  3. 调用控件的SetIcon方法设置ICON
//加载图标
HINSTANCE hInstance = AfxFindResourceHandle(MAKEINTRESOURCE(IDI_ICON),
    RT_GROUP_ICON);
HICON hIcon = ::LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON));            

//设置按钮图标
m_ctrlButton.SetIcon(hIcon);

 

6.17 如何在按钮上显示位图

同上方法,只不过方法换成了LoadBitmap和SetBitmap

//加载位图
HINSTANCE hInstance = AfxFindResourceHandle(MAKEINTRESOURCE(IDB_BITMAP), 
    RT_GROUP_ICON);
HBITMAP hBitmap = ::LoadBitmap(hInstance, MAKEINTRESOURCE(IDB_BITMAP));                    

//设置按钮位图
m_ctrlButton.SetBitmap(hBitmap);    

 

6.18 如何实现位图按钮

直接调用LoadBitmaps方法,参数为按钮个状态的不同位图

//加载按钮位图
m_ctrlButton.LoadBitmaps(IDB_UP, IDB_DOWN);

 

6.19 如何设置和获得单选按钮的选中状态

GetCheck方法获取选中状态,SetCheck设置选中状态(1为选中,0为不选中),在.net下一个IsChecked属性可以搞定一切

//设置单选按钮的选中状态
((CButton*)GetDlgItem(IDC_RADIO1))->SetCheck(0);
((CButton*)GetDlgItem(IDC_RADIO2))->SetCheck(1);
((CButton*)GetDlgItem(IDC_RADIO3))->SetCheck(0);

 

6.20 如何设置和获得一组单选按钮的选中状态

  1. CheckRadioButton指定选中的一组Button,并初始选中一个Button
  2. GetCheckedRadioButton获取选中Button的ID
void CheckRadioButton(int nIDFirstButton, int nIDLastButton,
                int nIDCheckButton);
int GetCheckedRadioButton(int nIDFirstButton, int nIDLastButton) const;

首先要在初始化时调用CheckRadioButton方法

//设置组中单选按钮的选中状态
CheckRadioButton(IDC_RADIO1, IDC_RADIO3, IDC_RADIO2);

以下为测试代码:

void CDemoDlg::OnTest() 
{
    //获得组中单选按钮的选中状态
    int nID = GetCheckedRadioButton(IDC_RADIO1, IDC_RADIO3);

    if (nID == IDC_RADIO1)
    {
        AfxMessageBox(_T("单选按钮1选中。"));
    }
    else if (nID == IDC_RADIO2)
    {
        AfxMessageBox(_T("单选按钮2选中。"));
    }
    else if(nID == IDC_RADIO3)
    {
        AfxMessageBox(_T("单选按钮3选中。"));
    }
}
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示