010
10.08.2003, 20:36 Uhr
Uwe
C/C++ Master (Administrator)
|
Hallo, aha! Jetzt kommen wir der Sache näher und Deine anderen Threads erklären sich von selbst(label)! Du hast kein MFC-Projekt sondern ein "managed" C++ Projekt. Leider hab ich jetzt die 2003 Version nicht hier, aber meine alte Beta tut auch noch ihre Dienste für solche Zwecke. Hab mal schnell etwas per Hand zusammen geschrieben. Ich habe die Implementierungen alle in die cpp geschrieben. form1.h
C++: |
#using <mscorlib.dll> #using <System.Windows.Forms.dll> #using <System.dll>
using namespace System; using namespace System::Windows::Forms;
__gc class Form1 : public Form{ public: Form1(); void OnButtonClicked(Object* sender, EventArgs* e); };
|
form2.h
C++: |
#using <mscorlib.dll> #using <System.Windows.Forms.dll> #using <System.dll>
using namespace System; using namespace System::Windows::Forms;
__gc class Form2 : public Form{ public: Form2(); };
|
Implementierung
C++: |
#include "stdafx.h" #include "form1.h" #include "form2.h" #using <mscorlib.dll> #include <tchar.h>
using namespace System;
using namespace System::Windows::Forms;
Form1::Form1():Form(){ Width = 150; Height = 60;
Button* pButton = new Button();
pButton->Text = "Button 1"; pButton->Left = 40; pButton->Top = 5; pButton->Click += new EventHandler(this,OnButtonClicked);
Controls->Add(pButton); }
Form2::Form2():Form(){ Width = 150; Height = 60;
Button* pButton2 = new Button();
pButton2->Text = "Button 2"; pButton2->Left = 40; pButton2->Top = 5; Controls->Add(pButton2); }
void Form1::OnButtonClicked(Object* sender, EventArgs* e){ Form2* pForm2; pForm2 = new Form2(); pForm2->Show(); }
int _tmain(void){ Application::Run(new Form1()); return 0; }
|
In OnButtonClicked() wird ein Pointer auf die Form2 geholt und mit der Methode Show() angezeigt. Da es sich um Managed Code handelt brauchst Du dich um das Aufräumen nicht zu kümmern (eigentlich, bei VB.net hab ich schon anderes erlebt). -- "Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."
Bis dann... Uwe Dieser Post wurde am 10.08.2003 um 20:37 Uhr von Uwe editiert. |