MemberVariablen von Buttons in .net umgebung
-
Hallo zusammen!
Ich mache gerade das Tutorial von http://home.wtal.de/ranzurmall/visualc/ersto.htm und da wird gesagt dass man nun für die Funktionalität der Buttons Membervariablen im MFC ClassWizard erstellen muss. Nur kann ich diesen ClassWizard nirgends finden in .NET

Jetzt, wo Ihre Dialogseite die eigene neue Klasse, nämlich CRechner hat, können Sie damit anfangen, die Variablen und Nachrichten-Funktionen zu schreiben. Als erstes deklarieren wir drei variablen vom Typ double für die drei Editboxen. Rufen Sie ClassWizard auf und wählen den Klassennamen Ihrer Dialogseite, nämlich CRechner. Gehen Sie zum Register Member-Variablen. Hier werden Sie alle Steuerelemt-IDs sehen. Doppelklicken Sie auf die Bezeichnung IDC_ZAHL1 oder markieren Sie IDC_ZAHL1 und aktivieren Sie die Schaltfläche Variable hinzufügen. Geben Sie Ihrer Variable den Namen m_zahl1, wählen Sie den Variablentyp double und bestätigen Sie Ihre Eingaben. Für die Beiden nächsten Editboxen gehen Sie ähnlich fort:
Kann mir jemand weiterhelfen?

-
Servus,
den gibs auch so nicht mehr. Du machst im Prinzip jetzt alles mit deinem "Solution Explorer", "Class View", "Resource Editor" und deinem Property Fenster.
Wenn du nur ne Membervar von einem Ctrl anlegen willst dann:
1. STRG Taste festhalten
2. Doppelklick auf das Control (z.B. EditBox)Dann stellst du ein was du brauchst.
Virtuelle Methoden, MSGs usw. kannst du erstellen wenn du:
1. Deine CPP Datei öffnest
2. Dein Property Fenster öffnest
3. In dem Fenster das Icon "Messages", "Overrides" etc. benutzt.Ich hoffe ich konnte dir weiterhelfen.
Viel Spass
*winke*
Hellsgore
-
Danke für die Antwort.
Aber wenn ich mit STRG auf die Editbox doppelklicke kommt derselbe Dialog den ich auch bei einem normalen Doppelklick auf mein Dialogfenster bekomme: "MFC ClassWizard"
Nur ist das so, wie ich das verstehe, dass dieser ClassWizard für das Erstellen neuer Klassen zuständig ist, denn immer wenn ich da bei "Klassenname" meine Klasse angebe, meint er "Das Objekt existiert schon", was auch logisch ist, da ich es ja vorhin erstellt habe

Wie genau kann ich Membervariabeln erstellen?
Ach ja, eine allgemeine Frage: Kann ich JEDES C++ Programm, welches ich in Visual Studio erstellt habe, in VS.NET auch erstellen?

-
Servus,
alles über Class View.
Rechte Maustaste auf die Klasse -> Add -> Variable oder Function
Neue Klasse:
Rechte Maustaste auf Projektname -> Add -> Class oder Resourcewas man halt gereade braucht.
*winke*
Hellsgore
-
hmm das funktioniert leider nicht. Wenn ich rechtsklick auf die .cpp oder .h Datei mache kommt nur cut paste etc., dann noch "compile" und "open" bzw. "open with"

Weisst Du die Antwort auf meine allgemeine Frage?
Danke übrigens schon für deine Antworten!
-
du musst einfach wenn du deinen Dialog im Resourcen Editor fertiggestellt hast, mit der rechten Maustaste auf das gewünschte Element klicken und dort sollte es dann sowas wie "Add Membervariable" oder so ähnlich geben. Bin leider gerade nicht zu Hause, daher kann ich es dir nicht 100%ig genau sagen

Grüsse
Thomas
-
Servus,
@Cor
Wenn das bei dir passiert dann bist du im Solution Explorer nicht im Class View. Im Class View kannst du neue Funktionen und Membervar zu einzelnen Klassen hinzufügen.STRG + Doppelklick (rechte Maustaste -> Add Variable) auf das Control, lassen eine Membervariable für dieses Control erstellen (solange ein Häckchen bei Control Variable in dem Fenster gesetzt ist). Wenn das Häckchen weg ist erstellt er auch eine Membervar.
Sage mal du benutzt doch Visul Studio .net oder? Nicht das wir hier aneinander vorbeireden.
*winke*
HellsgoreEDIT:
Nochmal CLASS VIEW ist das Fenster in dem alle deine Klassen, Konstanten, Funktionen, Variable, Strukturen und Wasweissichnichtnochalles aufgelistet ist. Wenn du jetzt in deine Dialogklasse eine Membervar oder eine neue Funktion anlegen willst, dann einfach rechte Maustaste und dann Add.......
Du kannst das aber auch manuell machen. .h öffnen unter public, protected oder private (wie du gerade willst) deine Var anlegen:
public: CString m_strKatzenKlo;Möchtest du diese jetzt nich initialisieren dann öffnest du die .cpp und initialisierst diese "z.B." in deinem Konstruktur:
CDeinDlg::CDeinDlg(CWnd* pParent /*=NULL*/) : CDialog(CDeinDlg::IDD, pParent) { m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); m_strKatzenKlo = "Hat ne Katze reingesch$"§%$§%en!!!"; }und so geht das
.
-
Ah jetzt hab ichs! *freu*
Aber immer wenn ich in ClassView > Add > Variable mache dann stürzt mir das Programm ab

Ich probiere es mal auf die manuelle Art
Danke vielmals Hellsgore!Oh zwei Dinge noch:
- Ach ja, eine allgemeine Frage: Kann ich JEDES C++ Programm, welches ich in Visual Studio erstellt habe, in VS.NET auch erstellen?
- @Hellsgore Warum sagst du zuerst "willst du die Variable nun NICHT initialisieren dann initialisiere sie so und so" *confused*

[Edit] Beim manuellen erstellen gibts nun auch schon ein Problem:
- Ich habe die "edit box" namens IDC_ERSTEZAHL . Wie kann ich nun eine Membervariable machen die auf diese erste Zahl zeigt?
Das funktioniert so nicht:
IDD_RECHNER::IDC_ERSTEZAHL cErsteZahl = IDD_RECHNER::IDC_ERSTEZAHL;
Auch die initialisierung geht nicht, die sollte dohc irgendwie so funzen:
IDD_RECHNER::cErsteZahl(CWnd* pParent /*=NULL*/) { cErsteZahl.Caption = 5; }