CLR Komponenten
-
Hi ihr,
Habe nun einige GUI's ausprobiert und bei allen mehr oder weniger Nachteile festgestellt.
MFC ist älter als .net
API habe ich zwar gelernt ist mir aber zu umständlich, weil sie nicht Objektorientiert ist.
QT4 ist plattformunabhängig aber funktioniert wieder ganz anders.Aus diesem Grund würde ich gerne lernen mit CLR Komponenten zu arbeiten.
Und zwar OHNE Formdesigner.
Ich finde leider weder ein Buch noch ein Tutorial dazu.Kann mir jemand einen Tip geben?
cya
David
-
Ja, ist ja gar kein Problem. Den Form-Designer brauchst Du sowieso nicht, da die CRT keine Graphischen Elemente hat...
Lern einfach ANSI-C, dann weist Du alles darüber wie man die CRT benutzt!
-
Ich kann schon C++ - warum jetzt ANSI C?
Ich würd nur gerne das, was der Form Designer in Visual Studio beim Anwählen einer CRT-Anwendung vorschreibt von Hand machen.
Aus dem einfach Grund, weil mein Wunsch ist eigene Klassen zu schreiben, die fertige Dialoge von mir gefertigt enthalten.*Edit:
Uuupps ich meine natürilch CLR CLR!!!*
-
Und was ist jetzt Dein Problem? Schau Dir doch an, was der Form Designer für Code produziert, dann kannst Du das doch nachbauen.
-
Das habe ich bereits probiert.
Allerdings wirft mir der Compiler sogar Fehler, wenn ich einfach alle Codes von allen Dateien aus einem Windows-CLR Projekt in ein Leeres Projekt kopiere.
Zudem steigt man durch den Code doch nicht mal grad eben so durch.
Gibts keine Bücher oder Tuts für sowas?
-
Was für Dateien müssen denn noch mit dabei?
CPP-Datei:
#include "stdafx.h" #include "Form1.h" using namespace Jap; [STAThreadAttribute] int main(array<System::String ^> ^args) { Application::EnableVisualStyles(); Application::SetCompatibleTextRenderingDefault(false); Application::Run(gcnew Form1()); return 0; }
Header:
#pragma once namespace Jap { 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(); // //TODO: Konstruktorcode hier hinzufügen. // } protected: ~Form1() { if (components) { delete components; } } private: System::ComponentModel::Container ^components; #pragma region Windows Form Designer generated code void InitializeComponent(void) { this->SuspendLayout(); this->AutoScaleDimensions = System::Drawing::SizeF(6, 13); this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font; this->ClientSize = System::Drawing::Size(466, 294); this->Name = L"Form1"; this->Text = L"Form1"; this->Load += gcnew System::EventHandler(this, &Form1::Form1_Load); this->ResumeLayout(false); } #pragma endregion private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e) { } }; }
Fehler:
Fehler 1 error C2039: 'ComponentModel': Ist kein Element von 'System' c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 7 LeerCLR
Fehler 2 error C2871: 'ComponentModel': Es ist kein Namespace mit diesem Namen vorhanden c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 7 LeerCLR
Fehler 3 error C3083: "Windows": Das Symbol links neben "::" muss ein Typ sein. c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 9 LeerCLR
Fehler 4 error C2039: 'Forms': Ist kein Element von 'System' c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 9 LeerCLR
Fehler 5 error C2871: 'Forms': Es ist kein Namespace mit diesem Namen vorhanden c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 9 LeerCLR
Fehler 6 error C2039: 'Data': Ist kein Element von 'System' c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 10 LeerCLR
Fehler 7 error C2871: 'Data': Es ist kein Namespace mit diesem Namen vorhanden c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 10 LeerCLR
Fehler 8 error C2039: 'Drawing': Ist kein Element von 'System' c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 11 LeerCLR
Fehler 9 error C2871: 'Drawing': Es ist kein Namespace mit diesem Namen vorhanden c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 11 LeerCLR
Fehler 10 error C3083: "Windows": Das Symbol links neben "::" muss ein Typ sein. c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 12 LeerCLR
Fehler 11 error C3083: "Forms": Das Symbol links neben "::" muss ein Typ sein. c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 12 LeerCLR
Fehler 12 error C2039: 'Form': Ist kein Element von 'System' c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 13 LeerCLR
Fehler 13 error C2504: 'Form': Basisklasse undefiniert c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 13 LeerCLR
Fehler 14 error C3083: "ComponentModel": Das Symbol links neben "::" muss ein Typ sein. c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 33 LeerCLR
Fehler 15 error C2039: 'Container': Ist kein Element von 'System' c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 33 LeerCLR
Fehler 16 error C2143: Syntaxfehler: Es fehlt ';' vor '^' c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 33 LeerCLR
Fehler 17 error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 33 LeerCLR
Fehler 18 error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 33 LeerCLR
Fehler 19 error C2065: 'components': nichtdeklarierter Bezeichner c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 26 LeerCLR
Fehler 20 error C2065: 'components': nichtdeklarierter Bezeichner c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 28 LeerCLR
Fehler 21 error C2541: 'delete': Objekte, die keine Zeiger sind, können nicht gelöscht werden c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 28 LeerCLR
Fehler 22 error C2039: 'SuspendLayout': Ist kein Element von 'Jap::Form1' c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 38 LeerCLR
Fehler 23 error C2039: 'AutoScaleDimensions': Ist kein Element von 'Jap::Form1' c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 39 LeerCLR
Fehler 24 error C3083: "Drawing": Das Symbol links neben "::" muss ein Typ sein. c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 39 LeerCLR
Fehler 25 error C2039: 'SizeF': Ist kein Element von 'System' c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 39 LeerCLR
Fehler 26 error C3861: "SizeF": Bezeichner wurde nicht gefunden. c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 39 LeerCLR
Fehler 27 error C2039: 'AutoScaleMode': Ist kein Element von 'Jap::Form1' c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 40 LeerCLR
Fehler 28 error C3083: "Windows": Das Symbol links neben "::" muss ein Typ sein. c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 40 LeerCLR
Fehler 29 error C3083: "Forms": Das Symbol links neben "::" muss ein Typ sein. c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 40 LeerCLR
Fehler 30 error C3083: "AutoScaleMode": Das Symbol links neben "::" muss ein Typ sein. c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 40 LeerCLR
Fehler 31 error C2039: 'Font': Ist kein Element von 'System' c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 40 LeerCLR
Fehler 32 error C2065: 'Font': nichtdeklarierter Bezeichner c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 40 LeerCLR
Fehler 33 error C2039: 'ClientSize': Ist kein Element von 'Jap::Form1' c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 41 LeerCLR
Fehler 34 error C3083: "Drawing": Das Symbol links neben "::" muss ein Typ sein. c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 41 LeerCLR
Fehler 35 error C2039: 'Size': Ist kein Element von 'System' c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 41 LeerCLR
Fehler 36 error C3861: "Size": Bezeichner wurde nicht gefunden. c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 41 LeerCLR
Fehler 37 error C2039: 'Name': Ist kein Element von 'Jap::Form1' c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 42 LeerCLR
Fehler 38 error C2882: 'Text': Unzulässige Verwendung eines Namespace-Bezeichners in einem Ausdruck c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 43 LeerCLR
Fehler 39 error C2039: 'Load': Ist kein Element von 'Jap::Form1' c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 44 LeerCLR
Fehler 40 error C2039: 'ResumeLayout': Ist kein Element von 'Jap::Form1' c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 45 LeerCLR
Fehler 41 error C2653: 'Application': Keine Klasse oder Namespace c:\Dokumente und Einstellungen\Praktikant\Eigene Dateien\Visual Studio 2008\Projects\LeerCLR\LeerCLR\Form1.cpp 6 LeerCLR
Fehler 42 error C3861: "EnableVisualStyles": Bezeichner wurde nicht gefunden. c:\Dokumente und Einstellungen\Praktikant\Eigene Dateien\Visual Studio 2008\Projects\LeerCLR\LeerCLR\Form1.cpp 6 LeerCLR
Fehler 43 error C2653: 'Application': Keine Klasse oder Namespace c:\Dokumente und Einstellungen\Praktikant\Eigene Dateien\Visual Studio 2008\Projects\LeerCLR\LeerCLR\Form1.cpp 7 LeerCLR
Fehler 44 error C3861: "SetCompatibleTextRenderingDefault": Bezeichner wurde nicht gefunden. c:\Dokumente und Einstellungen\Praktikant\Eigene Dateien\Visual Studio 2008\Projects\LeerCLR\LeerCLR\Form1.cpp 7 LeerCLR
Fehler 45 error C2653: 'Application': Keine Klasse oder Namespace c:\Dokumente und Einstellungen\Praktikant\Eigene Dateien\Visual Studio 2008\Projects\LeerCLR\LeerCLR\Form1.cpp 8 LeerCLR
Fehler 46 error C3861: "Run": Bezeichner wurde nicht gefunden. c:\Dokumente und Einstellungen\Praktikant\Eigene Dateien\Visual Studio 2008\Projects\LeerCLR\LeerCLR\Form1.cpp 8 LeerCLR
-
Hast Du die Referenzen in CommonProperties eingetragen?
-
witte schrieb:
Hast Du die Referenzen in CommonProperties eingetragen?
Ganz offensichtlich nicht Sonst würde wohl an seiner Installation etwas nicht stimmen.
-
Oh ganz Offensichtlich hab ich die jetzt drin- jetzt funktioniert das sogar.
Also Tutorials gibts trotzdem nicht?
-
doch gibts bestimmt. und bücher auch.
such mal danach in google, amazon, etc.