在对话框里添加状态栏(一)

时间:2022-12-03 19:30:23

在对话框里添加状态栏(一)

本文转自:http://sqq-htwlr.blog.163.com/blog/static/48833555200863072947919/

 状态栏类CStatusBar

在MFC类库中,提供了CStatusBar类用于设计状态栏,CStatusBar类的主要方法如下。

(1)Create方法:该方法用于创建状态栏窗口。语法如下:

BOOL Create( CWnd* pParentWnd, DWORD dwStyle = WS_CHILD | WS_VISIBLE | CBRS_BOTTOM,

UINT nID = AFX_IDW_STATUS_BAR );

参数如下

l     pParentWnd:标识状态栏父窗口。

l     dwStyle:标识状态栏风格。可选值如下:

² CBRS_TOP:状态栏位于框架窗口的顶部。

² CBRS_BOTTOM:状态栏位于框架窗口的底部。

² CBRS_NOALIGN:当父窗口重新调整尺寸时不重新定位状态栏。

l     nID:标识状态栏ID。

(2)CreateEx方法:该方法与Create方法类似,用于创建状态栏窗口,只是该方法支持扩展风格。语法如下:

BOOL CreateEx( CWnd* pParentWnd, DWORD dwCtrlStyle = 0 ,DWORD dwStyle = WS_CHILD |

WS_VISIBLE | CBRS_BOTTOM,UINT nID = AFX_IDW_STATUS_BAR );

参数如下

l     pParentWnd:标识父窗口指针。

l     dwCtrlStyle:标识状态栏的扩展风格。可选值如下。

² SBARS_SIZEGRIP:在状态栏的右侧有一个调整大小的状态栏控件,它是一个特别的区域,可以单击并拖动它来调整父窗口的大小。

² SBT_TOOLTIPS:状态栏支持工具提示。

l     dwStyle:标识窗口风格。

l     nID:标识状态栏ID。

(3)SetIndicators方法:该方法用于向状态栏中添加面板,并设置面板ID。语法如下:

BOOL SetIndicators( const UINT* lpIDArray, int nIDCount );

参数如下

l     lpIDArray:标识一个无符号整型数组,该数组中包含了面板ID。

l     nIDCount:用于标识数组元素数量。

(4)CommandToIndex方法:该方法用于根据面板ID返回面板索引。语法如下:

int CommandToIndex( UINT nIDFind ) const;

参数如下

l     nIDFind:标识面板ID。

返回值:返回值是面板ID对应的面板索引,如果面板ID没有关联的面板,返回值为-1。

(5)GetItemID方法:该方法与CommandToIndex方法是相对的,用于根据面板索引返回面板ID。语法如下:

UINT GetItemID( int nIndex ) const;

参数如下

l     nIndex:标识面板ID。

(6)GetItemRect方法:该方法用于获取某个面板的显示区域。语法如下:

void GetItemRect( int nIndex, LPRECT lpRect ) const;

参数如下

l     nIndex:标识面板ID。

l     lpRect:用于接收面板的显示区域。

(7)GetPaneInfo方法:该方法用于获取面板信息。语法如下:

void GetPaneInfo( int nIndex, UINT& nID, UINT& nStyle, int& cxWidth ) const;

参数如下

l     nIndex:标识面板索引。

l     nID:用于接收面板ID。

l     nStyle:用于接收面板风格。

l     cxWidth:用于接收面板宽度。

(8)GetPaneStyle方法:该方法用于获取面板风格。语法如下:

UINT GetPaneStyle( int nIndex ) const;

参数如下

l     nIndex:标识面板索引。

返回值:面板风格。

(9)GetPaneText方法:该方法用于获取面板文本。语法如下:

CString GetPaneText( int nIndex ) const;

void GetPaneText( int nIndex, CString& rString ) const;

参数如下

l     nIndex:标识面板索引。

l     rString:用于接收面板文本。

(10)GetStatusBarCtrl方法:该方法用于返回底层的通用状态栏控件。语法如下:

CStatusBarCtrl& GetStatusBarCtrl( ) const;

(11)SetPaneStyle方法:该方法用于设置面板[g2] 风格。语法如下:

void SetPaneStyle( int nIndex, UINT nStyle );

参数如下

l     nIndex:标识面板索引。

l     nStyle:标识面板风格。

(12)SetPaneText方法:该方法用于设置面板文本。语法如下:

BOOL SetPaneText( int nIndex, LPCTSTR lpszNewText, BOOL bUpdate = TRUE );

参数如下

l     nIndex:标识面板ID。

l     lpszNewText:标识面板文本。

l     bUpdate:标识是否立即更新面板。

(13)SetPaneInfo方法:该方法用于设置面板基本信息。语法如下:

void SetPaneInfo( int nIndex, UINT nID, UINT nStyle, int cxWidth );

参数如下

l     nIndex:标识面板索引。

l     nID:表示设置的面板ID。

l     nStyle:表示设置的面板风格。

l     cxWidth:表示设置的面板宽度。