HBITMAP GetBitmap( ) const;
返回以前用SetBitmap设置的按钮位图。
HICON SetIcon( HICON hIcon );
设置按钮显示的图标。参数hIcon指定了图标的句柄。该函数还会返回按钮原来的图标。
HICON GetIcon( ) const;
返回以前用SetIcon设置的按钮图标。
HCURSOR SetCursor( HCURSOR hCursor );
设置按钮显示的光标图。参数hCursor指定了光标的句柄。该函数还会返回按钮原来的光标。
HCURSOR GetCursor( );
返回以前用GetCursor设置的光标。
另外,可以使用下列的一些与按钮控件有关的CWnd成员函数来设置或查询按钮的状态。用这些函数的好处在于不必构建按钮控件对象,只要知道按钮的ID,就可以直接设置或查询按钮。
void CheckDlgButton( int nIDButton, UINT nCheck );
用来设置按钮的选择状态。参数nIDButton指定了按钮的ID。nCheck的值0表示按钮未被选择,1表示按钮被选择,2表示按钮处于不确定状态。
void CheckRadioButton( int nIDFirstButton, int nIDLastButton, int nIDCheckButton );
用来选择组中的一个单选按钮。参数nIDFirstButton指定了组中第一个按钮的ID,nIDLastButton指定了组中最后一个按钮的ID,nIDCheckButton指定了要选择的按钮的ID。
int GetCheckedRadioButton( int nIDFirstButton, int nIDLastButton );
该函数用来获得一组单选按钮中被选中按钮的ID。参数nIDFirstButton说明了组中第一个按钮的ID,nIDLastButton说明了组中最后一个按钮的ID。
UINT IsDlgButtonChecked( int nIDButton ) const;
返回检查框或单选按钮的选择状态。返回值0表示按钮未被选择,1表示按钮被选择,2表示按钮处于不确定状态(仅用于检查框)。
可以调用CWnd成员函数GetWindowText,GetWindowTextLength和SetWindowText来查询或设置按钮中显示的正文.
MFC还提供了CButton的派生类CBitmapButton。利用该类可以创建一个拥有四幅位图的命令按钮,按钮在不同状态时会显示不同的位图,这样可以使界面显得生动活泼。如果读者对CBitmapButton感兴趣,可以参看VC5.0随盘提供的MFC例子CTRLTEST。
在上一章的Register例子中已演示了各种按钮控件的使用,故这里就不再举例了。
6.1.4 编辑框控件
编辑框(Edit Box)控件实际上是一个简易的正文编辑器,用户可以在编辑框中输入并编辑正文。编辑框既可以是单行的,也可以是多行的,多行编辑框是从零开始编行号的.在一个多行编辑框中,除了最后一行外,每一行的结尾处都有一对回车换行符(用"\r\n"表示).这对回车换行符是正文换行的标志,在屏幕上是不可见的.
编辑框控件会向父窗口发出如表6.5所示的控件通知消息。
表6.5
消息
含义
EN_CHANGE
编辑框的内容被用户改变了。与EN_UPDATE不同,该消息是在编辑框显示的正文被刷新后才发出的。
EN_ERRSPACE
编辑框控件无法申请足够的动态内存来满足需要。
EN_HSCROLL
用户在水平滚动条上单击鼠标。
EN_KILLFOCUS
编辑框失去输入焦点。
EN_MAXTEXT
输入的字符超过了规定的最大字符数。在没有ES_AUTOHSCROLL或ES_AUTOVSCROLL的编辑框中,当正文超出了编辑框的边框时也会发出该消息。
EN_SETFOCUS
编辑框获得输入焦点。
EN_UPDATE
在编辑框准备显示改变了的正文时发送该消息。
EN_VSCROLL
用户在垂直滚动条