CStatusBarCtrl 和CStatusBar 的区别

2024-12-26 07:57:17
推荐回答(1个)
回答1:

CStatusBarCtrl:
是一个“状态条控件”是一个水平的窗口,通常显示在一个父窗口的底部,在其中应用程序可以显示不同类型的状态信息。可以将此状态条控件分割为多个部分,用来显示多种类型的信息。
CStatusBar :
CStatusBar 对象是一个带有一行文本输出窗格的控件,或者称为“指示器”。这些输出窗格常被用作消息行和状态指示器。例如:简单解释所选菜单命令的菜单帮助消息行,作为显示SCROLL LOCK,NUMLOCK 以及其它键状态的指示器。
CStatusBarCtrl::Create 具体用法如下:
BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );
返回值:如果成功则返回非零值;否则返回零。

参数: dwStyle 指定状态条控件的风格。状态条控件风格的任意组合都适用于这个控件。这个参数必须包括WS_CHILD风格。它也必须包括WS_VISIBLE风格。参见说明部分可以获得更多信息。
rect 指定状态条控件的大小和位置。它可以是一个CRect对象或一个RECT结构。
pParentWnd 指定状态条控件的父窗口,通常是一个CDialog。它不能是NULL。
nID 指定状态条控件的ID。

说明:
构造一个CStatusBarCtrl对象可以分两步。首先调用构造函数,然后调用Create来创建状态条控件并将它与CStatusBarCtrl对象连接。
dwStyle参数可以是下列值的任意组合: · CCS_BOTTOM 使控件将它自己定位在父窗口的客户区的底端,并将宽度设置为与父窗口的宽度一样。状态条控件将此作为它的缺省风格。
· CCS_NODIVIDER 禁止在控件的顶部绘制两个像素的高亮区。
· CCS_NOHILITE 禁止在控件的顶部绘制一个像素的高亮区。
· CCS_NOMOVEY 使控件响应WM_SIZE消息,调整自己的大小并水平移动自己,但不是垂直移动。如果使用了CCS_NORESIZE风格,则此风格不能使用。
· CCS_NOPARENTALIGE 禁止控件自动移动到父窗口的顶部或底部。不管控件的父窗口的尺寸怎么改变,控件都保持它在父窗口中的位置。如果也使用了CCS_TOP和CCS_BOTTOM风格,则高度被调整为缺省值,但位置和宽度仍然保持不变。
· CCS_NORESIZE 当控件设置它自己的初始尺寸和新尺寸时,禁止控件使用缺省的宽度和高度。而是用在创建或调整大小的请求中指定的宽度和高度。
· CCS_TOP 使控件将自己定位在其父窗口的顶部,并将自己的宽度设置为与父窗口的宽度一样。
一个状态窗口的缺省位置是沿着父窗口的底部,但是你也可以指定CCS_TOP风格来使它显示在父窗口的客户区的顶部。还可以指定SBARS_SIZEGRIP风格来使它包括一个位于状态窗口右端的调整大小的把手。并不建议组合CCS_TOP和SBARS_SIZEGRIP风格,因为这样获得的调整大小把手是没有用的,尽管系统将它绘制在了状态窗口中。
这下明白了吧!