Win32 控件篇(4)
2011-03-20 23:00 Clingingboy 阅读(2069) 评论(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选中。"));
}
}