none
Geschenk Uebergabe an Form1 Gonschior RRS feed

  • Allgemeine Diskussion

  •  

    Ich habe lange gebraucht, um

    das rauszuriegen, -

     

    kurz:

    nur die main kann mit komplexen Klassen richtig umgehen, was ja die eigentl.

    Fähigkeit von cpp ist. ...

     

    Ich habe jetzt eine zuverlässige Methode gefunden, um dann Werte an die graf. Form1 zu übergeben.

     

    Das Beispiel ist simpel, allerdings

    weiterentwickelbar.

     

    Hier folgt der Code aus main und Form1:

     

    Main:

     

    // GetSetForm1UebungMgg.cpp: Hauptprojektdatei.

    #include "stdafx.h"
    #include "Form1.h"
    #include "iostream"

    using namespace GetSetForm1UebungMgg;
    using namespace std;

    public ref class Foo1 //das zauberwort war ref !
    {
      property String^ Text
      {
        String^ get(void) {return txt1; };
        void set(String^ value) {txt1 = value; };
      }
    public: static String ^txt1;
    };

     

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


     Foo1::txt1 = "asdfjkljksdf";
     Console::WriteLine(Foo1::txt1);
     //Form1::richTextBox1()::Text = "";

     Form1::Foo::txt = "hallo aus main !(und int, klar ...)";

     // Aktivieren visueller Effekte von Windows XP, bevor Steuerelemente erstellt werden
     Application::EnableVisualStyles();
     Application:Tongue TiedetCompatibleTextRenderingDefault(false);

     // Hauptfenster erstellen und ausführen
     Application::Run(gcnew Form1());
     return 0;
    }

     

    und nun von Form1: 

    #pragma once


    namespace GetSetForm1UebungMgg {

     using namespace System;
     using namespace System::ComponentModel;
     using namespace System::Collections;
     using namespace System::Windows::Forms;
     using namespace System:Big Smileata;
     using namespace System:Big Smilerawing;

     /// <summary>
     /// Zusammenfassung für Form1
     ///
     /// Warnung: Wenn Sie den Namen dieser Klasse ändern, müssen Sie auch
     ///          die Ressourcendateiname-Eigenschaft für das Tool zur Kompilierung verwalteter Ressourcen ändern,
     ///          das allen RESX-Dateien zugewiesen ist, von denen diese Klasse abhängt.
     ///          Anderenfalls können die Designer nicht korrekt mit den lokalisierten Ressourcen
     ///          arbeiten, die diesem Formular zugewiesen sind.
     /// </summary>
     public ref class Form1 : public System::Windows::Forms::Form
     {
     public:
      Form1(void)
      {
       InitializeComponent();
       //
       //TODO: Konstruktorcode hier hinzufügen.
       //
      }

     protected:
      /// <summary>
      /// Verwendete Ressourcen bereinigen.
      /// </summary>
      ~Form1()
      {
       if (components)
       {
        delete components;
       }
      }
     private: System::Windows::Forms::Button^  button1;
     protected:
     public: System::Windows::Forms::RichTextBox^  richTextBox1;

     private:
      /// <summary>
      /// Erforderliche Designervariable.
      /// </summary>
      System::ComponentModel::Container ^components;

    #pragma region Windows Form Designer generated code
      /// <summary>
      /// Erforderliche Methode für die Designerunterstützung.
      /// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden.
      /// </summary>
      void InitializeComponent(void)
      {
       this->button1 = (gcnew System::Windows::Forms::Button());
       this->richTextBox1 = (gcnew System::Windows::Forms::RichTextBox());
       this->SuspendLayout();
       //
       // button1
       //
       this->button1->Location = System:Big Smilerawing:Stick out tongueoint(20, 25);
       this->button1->Name = L"button1";
       this->button1->Size = System:Big Smilerawing:Tongue Tiedize(70, 58);
       this->button1->TabIndex = 0;
       this->button1->Text = L"button1";
       this->button1->UseVisualStyleBackColor = true;
       this->button1->Click += gcnew System::EventHandler(this, &Form1::button1_Click);
       //
       // richTextBox1
       //
       this->richTextBox1->Location = System:Big Smilerawing:Stick out tongueoint(86, 151);
       this->richTextBox1->Name = L"richTextBox1";
       this->richTextBox1->Size = System:Big Smilerawing:Tongue Tiedize(133, 60);
       this->richTextBox1->TabIndex = 1;
       this->richTextBox1->Text = L"";
       //
       // Form1
       //
       this->AutoScaleDimensions = System:Big Smilerawing:Tongue TiedizeF(6, 13);
       this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
       this->ClientSize = System:Big Smilerawing:Tongue Tiedize(292, 266);
       this->Controls->Add(this->richTextBox1);
       this->Controls->Add(this->button1);
       this->Name = L"Form1";
       this->Text = L"Form1";
       this->ResumeLayout(false);

      }
    #pragma endregion
     private: System::Void button1_Click(System:Surprisebject^  sender, System::EventArgs^  e)
        {
         //Foo::txt = "abs";
         richTextBox1->Text = Foo::txt;

         //Form1::Text = GetSetForm1UebungMgg()::Foo1::txt1;
         //Foo1::txt;

         //GetSetForm1UebungMgg()::Foo1::txt1;//bekannt
        }
     
     public: ref class Foo //das zauberwort war ref !
    {
      property String^ Text
      {
        String^ get(void) {return txt; };
        void set(String^ value) {txt = value; };
      }
    public: static String ^txt;
    };

     
     
     };


    }

     

     

    viel Spass damit, falls es Verwendung findet.

     

    mfg

    Gonschior

     

     

    • Typ geändert Mathias Schiffer Montag, 23. März 2009 13:41 Keine Frage erkennbar
    Sonntag, 11. Januar 2009 16:55