Win32 控件篇(4)
2011-03-20 23:00 Clingingboy 阅读(2077) 评论(0) 编辑 收藏 举报
6.16 如何在按钮上显示图标
- 加载资源
- 转换成ICON对象
- 调用控件的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 如何设置和获得一组单选按钮的选中状态
- CheckRadioButton指定选中的一组Button,并初始选中一个Button
- 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 IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现