CBitmapButton类
在MFC中,要使用图形按钮,一般会选择CBitmapButton类,使用CBitmapButton类可以设置按钮的Normal、Selected、Focused和Disabled四种状态的bmp图像,这四副状态图像要求同尺寸大小,其中normal状态图片是必需提供的。常见调用代码示例:
CBitmapButton m_bmpBtn;
DDX_Control(pDX, IDC_BUT_PLAY, m_btnPlay); //关联控件
//CBitmapButton对象m_bmpBtn的LoadBitmaps函数加载程序内bmp资源。
m_bmpBtn.LoadBitmaps(IDB_BITMAP1,IDB_BITMAP2,IDB_BITMAP3,IDB_BITMAP4);
m_bmpBtn.SizeToContent(); //让按钮变成图片的大小
按钮加提示信息
1、在类头文件中声明CToolTipCtrl的类对象m_ctrlTT。
2、在初始化函数OnInitDialog()中设置m_ctrlTT。
EnableToolTips(TRUE);//enable use it m_ctrlTT.Create(this);
m_ctrlTT.Activate(TRUE); m_ctrlTT.SetTipTextColor(RGB(0,0,255));//font color
m_ctrlTT.SetDelayTime(150);//delay time //IDC_TEST为你想添加提示的控件IDC,"hello为想添加的提示语句"
m_ctrlTT.AddTool(GetDlgItem(IDC_TEST),(LPCTSTR)"hello");
3、在ClassWizard里添加PreTranslateMessage消息函数,并添加如下语句。 m_ctrlTT.RelayEvent(pMsg);
radio button
radiobutton通常都是成组使用的,在一组里面是互斥的。
分组的原则是:
1、首先将RadioButton控件定好Tab顺序,具体方法:工具栏“格式”—>“Tab键顺序”选项选中,然后按照预定的顺序依次点击对话框上面的RadioButton按钮,Tab键顺序设定完成。
2、按照上面的Tab键顺序进行分组,然后设定每组第一个RadioButton的Group属性为TRUE,分组完成,即从当前设置Group属性为TRUE的RadioButton开始直到碰到下一个选上Group属性的RadioButton的前一个RadioButton为一个组。
3、为单选控件定义Control变量或Value变量,每组只能定义一个,通过设定值来确定哪一个RadioButton被选中,其中-1表示该组均不被选中,0表示该组第一个RadioButton被选中,1表示第二个……)。
例子;voidCRadioButtonInstanceDlg::OnBnClickedRadio1()
{
}
voidCRadioButtonInstanceDlg::OnBnClickedRadio2()
{
}
Check box
在界面设计中,我们经常会用到Check Box这个控件,Check Box 的使用方法与Radio Button 的用法相似,但比它要简单得多。
一、设定Check Box为 选中状态
((CButton*)GetDlgItem(ID号))->SetCheck(TRUE);
(SetCheck(FALSE)) 为不选中,如果想初始化为选中状态,则在InitDlg函数中加入下面这段语句。
( (CButton*)GetDlgItem(IDC_RADIO1))->SetCheck(TRUE);
二、检查Check Box是否为选中状态
可使用GetCheck()这个函数,如下:
if(BST_CHECKED==((CButton*)GetDlgItem(IDC_RADIO1))->GetCheck()) 判断是否选中;
if(BST_UNCHECKED==((CButton*)GetDlgItem(IDC_RADIO3))->GetCheck()) 判断是否未选中。