|
按钮控件包括按钮(Button)、单选按钮(Radio Button)和复选框(Check Box)-----同属Cbutton没什么好说的
MFC提供了CBUtton类封装按钮控件的所有操作,常用的列出了,其他的学到再说吧,牵扯太多了
CButton类的主要成员函数。至于其他的函数大家可以在MSDN中查看
HBITMAP SetBitmap(HBITMAP hBitmap);
设置要在按钮中显示的位图。参数hBitmap为位图的句柄。返回值为按钮原来位图的句柄。
HBITMAP GetBitmap() const;
获取之前由SetBitmap函数设置的按钮位图的句柄。
void SetButtonStyle(UINT nStyle, BOOL bRedraw = TRUE);
设置按钮的风格。参数nStyle指定按钮的风格,bRedraw指定按钮是否重绘,为TRUE则重绘,否则不重绘,默认为重绘
UINT GetButtonStyle() const;
获取按钮控件的风格。
void SetCheck(int nCheck);
设置按钮的选择状态。参数nCheck为0表示未选中状态,1表示选中状态,2表示不确定状态(仅用于复选框)
int GetCheck() const;
获取按钮的选择状态。返回值的意义同SetCheck函数的nCheck参数。
HCURSOR SetCursor(HCURSOR hCursor);
设置要显示到按钮上的光标图。参数hCursor指定了光标的句柄。返回值为按钮原来的光标的句柄。
HCURSOR GetCursor();
获取之前有SetCursor设置的光标的句柄。
HICON SetIcon(HICON hIcon);
设置要在按钮上显示的图标。参数hIcon指定了图标的句柄。返回值为按钮原来图标的句柄。
HICON GetIcon() const;
获取之前有SetIcon设置的图标的句柄。
void SetState(BOOL bHighlight);
设置按钮的高亮状态。参数bHighlight指定按钮是否高亮显示,非0则高亮显示,否则取消高亮显示状态
UINT GetState() const;
获取按钮控件的选择状态、高亮状态和焦点状态。我们可以通过将返回值与各个掩码相与来获得各种状态值,掩码与对应的相与结果说明如下
掩码0x0003:用来获取单选按钮或复选框的状态。相与结果为0表示未选中,1表示被选中,2表示不确定状态(仅用于复选框)
掩码0x0004:用来判断按钮是否高亮显示。相与结果为非0值表示按钮是高亮显示的。当单击按钮并按住鼠标左键时,按钮会呈高亮显示
掩码0x0008:相与结果为非零值表示按钮拥有输入焦点
下面再列出几个继承自CWnd类的成员函数,通过它们获取或设置按钮控件的状态非常方便,只需要知道按钮的ID
void CheckDlgButton(int nIDButton, UINT nCheck);
用来设置按钮的选中状态。参数nIDButton指定了按钮的ID。nCheck的值为0表示按钮未被选择,为1表示按钮被选择,为2表示按钮处于不确定状
态 (仅用于复选框)
UINT IsDlgButtonChecked(int nIDButton) const;[
返回复选框或单选按钮的选择状态。返回值为0表示按钮未被选择,为1表示按钮被选择,为2表示按钮处于不确定状态(仅用于复选框)
nIDCheckButton 指定了要选择的按钮的ID]
void CheckRadioButton(int nIDFirstButton, int nIDLastButton, int nIDCheckButton)
用来选择组中的一个单选按钮。参数nIDFirstButton指定了组中第一个按钮的ID,nIDLastButton指定了组中最后一个按钮的ID
int GetCheckedRadioButton(int nIDFirstButton, int nIDLastButton)
用来获得一组单选按钮中被选中按钮的ID。参数nIDFirstButton说明了组中第一个按钮的ID,nIDLastButton说明了组中最后一个按钮的ID
另外,CWnd类的成员函数GetWindowText()、SetWindowText()等也可以用来获取或设置按钮中显示的文本
按钮-事件-BN_CLICKED添加代码,可以打开任意网址,目录,视频,图片,文本l等,很实用
ShellExecute(NULL, L"open", L"https://www.cctry.com/", NULL, NULL, SW_SHOWNORMAL);
ShellExecute(NULL, CString("open"), CString("https://www.cctry.com/"), NULL, NULL, SW_SHOWNORMAL);
图片,exe,doc,jpg,bmp等都可以打开
CString("E:\\编程视频\\小白学编程")注意:路径名一定要加上‘\\’
单选按钮
CheckedRadioButton(IDC_xxx1,IDC_xxx2,IDC_xxx3,IDC_xxx1)//针对1-多个指定选定
也可以和变量名绑定使用
1)使某个控件或窗口可用/不可用
GetDlgItem(IDC_XX)->EnableWindow(false);//变灰,不可用,可见
GetDlgItem(IDC_XX)->EnableWindow(true);//还原正常,可用,可见
2)使某个控件或窗口可见/不可见
GetDlgItem(IDC_XX)->ShowWindow(SW_HIDE);//隐藏控件,不可见
GetDlgItem(IDC_XX)->ShowWindow(SW_SHOW);//显示控件,可见
m_check1.SetCheck(true)或false 0和1都可以
总结:这三个按钮挺简单的 不涉及事件-消息处理上,小菜完全可以得心应手
|
评分
-
查看全部评分
上一篇: MFC编程入门之二(接各种按钮详解)下一篇: MFC编程入门之四 check box--植物大战僵尸练手
|