Windows Forms-Anwendungen mit Standard-C++

Veröffentlicht: Dezember 2009
Von Richard Kaiser und Alexander Kaiser

Mit Visual Studio 2005 kann man praktisch alle Sprachelemente von Standard-C und C++ in Windows-Programmen verwenden. Die folgenden Artikel illustrieren das an einigen Beispielen und zeigen, wie man einige der häufigsten Barrieren umschiffen kann, die dabei auftreten können.

Alle Artikel sind kurze Auszüge aus dem Buch „C++ mit Microsoft Visual C++ 2008“ (ISBN 978-3540238690), das C++ mitsamt den Visual C++-Erweiterungen (C++/CLI) umfassend darstellt. Der Verfasser dieses Buches ist ein erfahrener C++- und C#-Trainer, der auch für Firmenschulungen zur Verfügung steht.

Eine Vorlage für Windows Forms-Anwendungen mit Standard-C++
Hier wird ein einfaches und universell einsetzbares Schema für Windows .NET Programme mit Visual Studio 2005 und C++ vorgestellt. Baut man Programme nach diesem Schema auf, vermeidet man viele Probleme, die bei einer anderen Programmstruktur auftreten können.

Typische C- und C++-Anweisungen
Hier werden einige Beispiele vorgestellt, die einfach nur zeigen sollen, wie das Schema aus dem letzten Abschnitt mit einfachen C/C++-Anweisungen und nicht ganz so einfachen Elementen der C++-Standardbibliothek oder der Boost-Bibliothek verwendet werden kann.

Konversionen zwischen string und String
Programme in Standard-C++ verwenden meist nullterminierte Strings (Datentyp char*) oder die Klasse string der Standardbibliothek für die Darstellung von Strings. Diese Datentypen sind allerdings nicht mit der Klasse String kompatibel, die unter .NET zur Anzeige von Strings in Steuerelementen verwendet wird. Deshalb besteht auf den ersten Blick eine unüberwindbare Schwierigkeit, Strings aus Standard-C++ in einem Windows .NET Programm auszugeben und einzulesen. Dabei ist das aber ganz einfach, wenn man nur weiß, wie es geht.

Einschränkungen bei der Kombination von nativen und verwalteten Klassen
Visual C++ verwendet in Windows Forms-Anwendungen eine Erweiterung von Standard-C++, die als C++/CLI bezeichnet wird. Die C++/CLI-Erweiterungen integrieren einige C#-Konzepte in C++ und ermöglichen die Nutzung der.NET Bibliothek unter C++.

Zurück: Hauptmenüs, Kontextmenüs und Standarddialoge | Weiter: Eine Vorlage für Windows Forms-Anwendungen mit Standard-C++