A status bar can be used for its aesthetic characteristics as it can be made to display sunken or raised bars to the bottom of a form:
Other than that, a status bar can be made to display other items. Like a toolbar, a status bar is an intermediary container, meaning it must be positioned on another container, which is usually a form. The default Dock value of a status bar is Bottom.
To manage its panels, the StatusStrip class inherits the functionalities of its panels from the inherited Items property. As seen for the ToolStrip ^ toolbar, to create the panels of a status bar, do one of the following:
This would open the Items Collection Editor. Use it to add the desired items that would then create the panels. Like a toolbar, a status bar can host some items. A status bar is primarily used to display text. To get such text, you can create a label and add it to the status bar. A label on a status bar is an object of type ToolStripStatusLabel. The ToolStripStatusLabel class inherits from a class named ToolStripLabel. To visually add a label to a status bar:
To programmatically add a label to a status bar, declare a variable of type ToolStripStatusLabel, initialize it, and add it to the Items property of the StatusStrip variable. Here is an example: #include <windows.h>
#using <System.dll>
#using <System.Drawing.dll>
#using <System.Windows.Forms.dll>
using namespace System;
using namespace System::Drawing;
using namespace System::Windows::Forms;
public ref class CExercise : public Form
{
private:
StatusStrip ^ statusbar;
ToolStripStatusLabel ^ lblMessage;
public:
CExercise()
{
InitializeComponent();
}
private:
void InitializeComponent()
{
statusbar = gcnew StatusStrip;
lblMessage = gcnew ToolStripStatusLabel;
statusbar->Items->Add(lblMessage);
Controls->Add(statusbar);
Text = L"Exercise";
StartPosition = FormStartPosition::CenterScreen;
}
};
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
Application::Run(gcnew CExercise());
return 0;
}
Like the label of a toolbar, the label of a status bar can be made to display text, an icon, or both. This is handled by the DisplayStyle property that has the same options as the other. The label of a status bar is highly configurable. It has the ability to sink or raise its borders. If you want to control the borders of a label, first use its BorderSides property:
You can do this programmatically as follows: void InitializeComponent()
{
statusbar = gcnew StatusStrip;
lblMessage = gcnew ToolStripStatusLabel;
lblMessage->BorderSides = ToolStripStatusLabelBorderSides::All;
statusbar->Items->Add(lblMessage);
Controls->Add(statusbar);
}
After setting the BorderSides property, select the type of border you want in the BorderStyle property:
You can also specify the border style programmatically. Here is an example: void InitializeComponent()
{
statusbar = gcnew StatusStrip();
lblMessage = gcnew ToolStripStatusLabel();
lblMessage->AutoSize = false;
lblMessage->Width = 125;
lblMessage->BorderSides = ToolStripStatusLabelBorderSides::All;
lblMessage->BorderStyle = Border3DStyle::Sunken;
statusbar->Items->Add(lblMessage);
Controls->Add(statusbar);
}
This would produce:
Besides the label, a status bar can also contain a drop down button, a split button, and/or a progress bar.
|
|
|||||||||||
|
|