ERLEDIGT
NEIN
NEIN
ANTWORTEN
20
20
ZUGRIFFE
2229
2229
EMPFEHLEN
-
24.05.10 21:34 #1
Hallo Forengemeinde,
ich habe Visual Studio C++ 2010 Express Editions und möchte zwei Fenster(Forms) über einen menuStrip vernetzen,
sodass ich, wenn ich auf einen bestimmten Menüpunkt klicke, sich ein neues Fenster öffnet.
HINWEIS: ES SOLL KEINE MESSAGE ODER EIN DIALOG SEIN JEDIGLICH EIN VON MIR ERSTELLTES FENSTER!
Ich habe es folgendermaßen Probiert:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13
#pragma once #include <iostream> using namespace std; namespace My10FingerEASY { using namespace System; using namespace System::ComponentModel; using namespace System::Collections; using namespace System::Windows::Forms; using namespace System::Data; using namespace System::Drawing; [B]...[/B]Es kam folgende Fehlermeldung heraus:Code :1 2 3 4 5 6 7 8 9 10 11
[B]...[/B] #pragma endregion private: System::Void toolStripStatusLabel1_Click(System::Object^ sender, System::EventArgs^ e) { } private: System::Void richTextBox1_TextChanged(System::Object^ sender, System::EventArgs^ e) { } private: System::Void textLadenToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) { get("uebungenUndTexte.h"); } }; }
Über eine schnelle Antwort würde ich mich freuen.
Zitat von Fehlermeldung
Grüße
YannikBitte bewerte mich, falls ich weitergeholfen habe.
Mit freundlichen Grüßen
Yannik Told
-
01.06.10 08:37 #2
Damit dieses Thema nicht untergeht, greife ich es nochmal auf.
Bitte bewerte mich, falls ich weitergeholfen habe.
Mit freundlichen Grüßen
Yannik Told
-
Meinst du mit get wirklich std::tr1::get?
-
04.06.10 21:36 #4
- Registriert seit
- Jul 2009
- Ort
- berlin
- Beiträge
- 11
alsoooo,
das ist sehr einfach.
du hast also einen menüpunkt und dazu das Click-Event, Vorher legst du die zweite Form natürlich erstmal an.
du schrein´bst im Event folgendes:
Formname formvarname = new Formname();
formvarname.Show();
Formname = gleich name der zweiten FOrm (intelsense erscheint immer, wenn du ihn richtig eingibtst...)
formvarname = gebe der Referenz einen beliebigen namen.
weiter mußt du nichts tun.
noch ein tip der immer klasse ist:
deklariere vorher im Code eine globale Formvariabel der selben Form:
public static Formname formvarname2;
wenn du jetzt folgendes schreibst
Formname formvarname = new Formname();
formvarname2 = formvarname;
formvarname2.Show();
kannst du jeder zeit aus der ersten Form folgendes tun:
formvarname2.Close(); oder
formvarname2.Hide();
also alle funktionen aus der ersten form aufrufen.
-
11.06.10 19:34 #5
So. Noch 2 Fehler die ich nicht ganz verstehe:
Der Code:
Code :1 2 3 4 5 6 7 8 9 10 11
#pragma endregion private: System::Void toolStripStatusLabel1_Click(System::Object^ sender, System::EventArgs^ e) { } private: System::Void richTextBox1_TextChanged(System::Object^ sender, System::EventArgs^ e) { } private: System::Void textLadenToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) { "uebungenUndTexte.h"; "ueut" = new uebungenUndTexte(); "ueut".Show(); } }; }Kann mir jemand dabei bitte helfen?
Zitat von Fehlermeldung
Gruß
YannikTold
EDIT: Syntaxfehler ist Rechtschreibfehler, richtig? Durch Änderung in: "uebungenUndTexte.h"ist der Syntaxfehler: Zeichenfolge gekommen.Geändert von YannikTold (11.06.10 um 19:43 Uhr)
Bitte bewerte mich, falls ich weitergeholfen habe.
Mit freundlichen Grüßen
Yannik Told
-
Was für eine Sprache verwendest du bitte zum Programmieren?
"ueut" = new uebungenUndTexte();
Es gibt glaub keine Sprache der Welt in der das irgendein gültiges Konstrukt aufweist. Du weisst einem String-Literal einen Wert zu, huh?
Und was um alles in der Welt soll das absolut alleine gelassene und sinnfreie Literal
"uebungenUndTexte.h"; ? Soll das etwa #include "uebungenUndText.h" heissen?
-
12.06.10 10:28 #7Bitte bewerte mich, falls ich weitergeholfen habe.
Mit freundlichen Grüßen
Yannik Told
-
Ja schon, aber dir ist schon bewusst, dass Variabelnnamen in C++ (und auch in jeder anderen mir bekannten Programmiersprache) nicht in " " stehen?
Code :1 2 3
int a = 2; // und nicht int "a" = 2;
-
12.06.10 12:12 #9
So besser?
Code :1 2 3 4 5 6 7 8 9 10 11
#pragma endregion private: System::Void toolStripStatusLabel1_Click(System::Object^ sender, System::EventArgs^ e) { } private: System::Void richTextBox1_TextChanged(System::Object^ sender, System::EventArgs^ e) { } private: System::Void textLadenToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) { uebungenUndTexte ueut = new uebungenUndTexte(); ueut.Show(); } }; }
Das Resultat:
EDIT: Mit int:
Zitat von Fehlermeldungen
Code :1 2 3 4 5 6 7 8 9 10 11
#pragma endregion private: System::Void toolStripStatusLabel1_Click(System::Object^ sender, System::EventArgs^ e) { } private: System::Void richTextBox1_TextChanged(System::Object^ sender, System::EventArgs^ e) { } private: System::Void textLadenToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) { int uebungenUndTexte ueut = new uebungenUndTexte(); ueut.Show(); } }; }
Zitat von Fehlermeldungen
Geändert von YannikTold (12.06.10 um 12:15 Uhr)
Bitte bewerte mich, falls ich weitergeholfen habe.
Mit freundlichen Grüßen
Yannik Told
-
Kurze Frage: Kennst du dich denn mit C++ aus? Falls nicht (so scheint es mir) würde es vielleicht mehr Sinn machen mal mit C# anzufangen.
Aber für dein Problem:
uebungenUndTexte (ein schlechter Name für eine Klasse) ist wohl in einer anderen Datei deklariert, also musst du diese auch includieren.
-
12.06.10 12:41 #11
Ich habe noch nie mit Forms gearbeitet aber ich habe schon soetwas wie ELIZA oder Mastermind gemacht.
Ich habe die Lernbücher:
- Spielend C++ lernen
- Coding for Fun mit C++
- C++ Referenzen
- Das Ensteigerseminar C++ Objektorientierte Programmierung
Auf C# unzusteigen wäre damit ziemlich teuer erkauft.Bitte bewerte mich, falls ich weitergeholfen habe.
Mit freundlichen Grüßen
Yannik Told
-
Und hast du diese Bücher jetzt schon durch? Denn das Deklarieren von Variabeln und das Includieren von Headern sind ja wirklich absolute Basics.
-
12.06.10 12:48 #13
Also mit Spielend C++ lernen und Coding for Fun ja.
Mit C++ Objektorientierte Programmierung und C++ Referenzen noch nicht.
(In C++ Objektorientierte Programmierung sehe ich gerade Die Variablendeklaration)
Ich weiß bisher das deklarieren von Headern mit der Funktion #include möglich ist.Bitte bewerte mich, falls ich weitergeholfen habe.
Mit freundlichen Grüßen
Yannik Told
-
Ok, dann mal so in Kürze und vielleicht nicht ganz vollständig:
#include ist eine Präprozessoranweisung. Der Präprozessor geht über deinen Quellcode bevor der Compiler rangeht. Er führt dann alle Präprozessoranweisung aus. #include weist den Präprozessor an die Datei, die du da angibst an dieser Stelle einfach reinzukopieren. Mehr passiert da nicht.
Und bevor du einen Typ verwenden kannst muss er bekannt sein. Da der Compiler in Compilereinheiten arbeitet (.cpp-Dateien) muss in jeder Datei alles was verwendet wird bekannt sein. Daher brauchst du auch solche Header (im Gegensatz zu C#).
-
14.06.10 14:59 #15
in dem Buch C++ Objektorientiertes Programmieren steht ein wenig mist:
Code :1 2 3
void main(void) { ... }
void main kann nicht funktionieren, da main immer etwas zurückliefern muss.
Dann dürfte das also nicht funktioniern eigentlich.
Grüße
YannikTold
P.S.: EDIT
Zitat von DickUndDa
Zitat von Sir_RamDac
Geändert von YannikTold (14.06.10 um 15:02 Uhr)
Bitte bewerte mich, falls ich weitergeholfen habe.
Mit freundlichen Grüßen
Yannik Told
Ähnliche Themen
-
[VS C++ 2010] Windows Forms Buttons/Menüs funktionen programmieren
Von YannikTold im Forum .NET Windows FormsAntworten: 7Letzter Beitrag: 24.10.10, 10:36 -
Zwei Forms mit Fokus
Von PhoenixLoe im Forum .NET Windows FormsAntworten: 2Letzter Beitrag: 01.01.08, 16:07 -
Microsoft Visual Basic 2005 Express Edition - Masken(forms, fenster) verknüpfen
Von Mega-Zocker im Forum .NET Windows FormsAntworten: 1Letzter Beitrag: 08.09.07, 13:45 -
Umstieg von #dev zu VC# Express, FORMS werden verkleinert.
Von JackSparrrow im Forum .NET Windows FormsAntworten: 3Letzter Beitrag: 26.06.07, 21:22 -
Datenaustausch zwischen zwei Forms
Von azok im Forum .NET ArchivAntworten: 1Letzter Beitrag: 14.02.05, 11:00





Zitieren

Login





