Visual C++ .NET/GUI Form/StatusStrip

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

StatusStrip Demo

<source lang="csharp">

 using namespace System;
 using namespace System::ComponentModel;
 using namespace System::Collections;
 using namespace System::Windows::Forms;
 using namespace System::Data;
 using namespace System::Drawing;
 public ref class Form1 : public System::Windows::Forms::Form
 {
 public:
   Form1(void)
   {
     InitializeComponent();
   }
       System::Windows::Forms::ToolStripContainer^  tsContainer;
       System::Windows::Forms::StatusStrip^  statusStrip1;
       System::Windows::Forms::ToolStripStatusLabel^  statusButtons;
       System::Windows::Forms::ToolStripStatusLabel^  statusXCoord;
       System::Windows::Forms::ToolStripStatusLabel^  statusYCoord;
   void InitializeComponent(void)
   {
           this->tsContainer =
               (gcnew System::Windows::Forms::ToolStripContainer());
           this->statusStrip1 =
               (gcnew System::Windows::Forms::StatusStrip());
           this->statusButtons =
               (gcnew System::Windows::Forms::ToolStripStatusLabel());
           this->statusXCoord =
               (gcnew System::Windows::Forms::ToolStripStatusLabel());
           this->statusYCoord =
               (gcnew System::Windows::Forms::ToolStripStatusLabel());
           this->tsContainer->BottomToolStripPanel->SuspendLayout();
           this->tsContainer->SuspendLayout();
           this->statusStrip1->SuspendLayout();
           this->SuspendLayout();
           //
           // tsContainer
           //
           //
           // tsContainer.BottomToolStripPanel
           //
           this->tsContainer->BottomToolStripPanel->Controls->Add(
               this->statusStrip1);
           //
           // tsContainer.ContentPanel
           //
           this->tsContainer->ContentPanel->Size =
               System::Drawing::Size(292, 251);
           this->tsContainer->ContentPanel->MouseDown +=
               gcnew System::Windows::Forms::MouseEventHandler(this,
               &Form1::tsContainer_ContentPanel_MouseDown);
           this->tsContainer->ContentPanel->MouseMove +=
               gcnew System::Windows::Forms::MouseEventHandler(this,
               &Form1::tsContainer1_ContentPanel_MouseMove);
           this->tsContainer->Dock = System::Windows::Forms::DockStyle::Fill;
           this->tsContainer->Location = System::Drawing::Point(0, 0);
           this->tsContainer->Name = L"tsContainer";
           this->tsContainer->Size = System::Drawing::Size(292, 273);
           this->tsContainer->TabIndex = 0;
           this->tsContainer->Text = L"toolStripContainer1";
           //
           // statusStrip1
           //
           this->statusStrip1->Dock = System::Windows::Forms::DockStyle::None;
           this->statusStrip1->Items->AddRange(
               gcnew cli::array< System::Windows::Forms::ToolStripItem^>(3)
               {this->statusButtons, this->statusXCoord, this->statusYCoord});
           this->statusStrip1->Location = System::Drawing::Point(0, 0);
           this->statusStrip1->Name = L"statusStrip1";
           this->statusStrip1->Size = System::Drawing::Size(292, 22);
           this->statusStrip1->TabIndex = 0;
           //
           // statusButtons
           //
           this->statusButtons->Name = L"statusButtons";
           this->statusButtons->Size = System::Drawing::Size(177, 17);
           this->statusButtons->Spring = true;
           this->statusButtons->TextAlign =
               System::Drawing::ContentAlignment::MiddleLeft;
           //
           // statusXCoord
           //
           this->statusXCoord->AutoSize = false;
           this->statusXCoord->BorderSides =
           static_cast<System::Windows::Forms::ToolStripStatusLabelBorderSides>
           ((((System::Windows::Forms::ToolStripStatusLabelBorderSides::Left
           | System::Windows::Forms::ToolStripStatusLabelBorderSides::Top)
           | System::Windows::Forms::ToolStripStatusLabelBorderSides::Right)
           | System::Windows::Forms::ToolStripStatusLabelBorderSides::Bottom));
           this->statusXCoord->BorderStyle =
               System::Windows::Forms::Border3DStyle::Sunken;
           this->statusXCoord->Name = L"statusXCoord";
           this->statusXCoord->Size = System::Drawing::Size(50, 17);
           //
           // statusYCoord
           //
           this->statusYCoord->AutoSize = false;
           this->statusYCoord->BorderSides =
           static_cast<System::Windows::Forms::ToolStripStatusLabelBorderSides>
           ((((System::Windows::Forms::ToolStripStatusLabelBorderSides::Left
           | System::Windows::Forms::ToolStripStatusLabelBorderSides::Top)
           | System::Windows::Forms::ToolStripStatusLabelBorderSides::Right)
           | System::Windows::Forms::ToolStripStatusLabelBorderSides::Bottom));
           this->statusYCoord->BorderStyle =
               System::Windows::Forms::Border3DStyle::Sunken;
           this->statusYCoord->Name = L"statusYCoord";
           this->statusYCoord->Size = System::Drawing::Size(50, 17);
           //
           // Form1
           //
           this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
           this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
           this->ClientSize = System::Drawing::Size(292, 273);
           this->Controls->Add(this->tsContainer);
           this->Name = L"Form1";
           this->Text = L"Status Strip Mouse Tracking";
           this->tsContainer->BottomToolStripPanel->ResumeLayout(false);
           this->tsContainer->BottomToolStripPanel->PerformLayout();
           this->tsContainer->ResumeLayout(false);
           this->tsContainer->PerformLayout();
           this->statusStrip1->ResumeLayout(false);
           this->statusStrip1->PerformLayout();
           this->ResumeLayout(false);
   }
   
 private:
       System::Void tsContainer_ContentPanel_MouseDown(System::Object^ sender,
                                    System::Windows::Forms::MouseEventArgs^ e)
       {
          // clicked mouse button in first status bar panel
           if (e->Button == System::Windows::Forms::MouseButtons::Right)
               statusButtons->Text = "Right";
           else if (e->Button == System::Windows::Forms::MouseButtons::Left)
               statusButtons->Text = "Left";
           else
               statusButtons->Text = "Middle";
        }
       System::Void tsContainer1_ContentPanel_MouseMove(System::Object^ sender,
                                    System::Windows::Forms::MouseEventArgs^  e)
       {
            // x,y coords in second and third status bar panels
           statusXCoord->Text = String::Format("X={0}", e->X);
           statusYCoord->Text = String::Format("Y={0}", e->Y);
       }
 };

[STAThreadAttribute] int main(array<System::String ^> ^args) {

 Application::Run(gcnew Form1());
 return 0;

}

 </source>