Visual C++.NET. Das Buch

Download Visual C++.NET. Das Buch

Post on 08-Dec-2016

233 views

Category:

Documents

4 download

Embed Size (px)

TRANSCRIPT

<ul><li><p>Visual C++.NET</p></li><li><p>Visual C++.NET</p><p>Das Buch</p><p>Ron Nanko</p><p>Z</p></li><li><p>Der Verlag hatgramm und annimmt weder InformationenVerlag fr Schbar gemacht w</p><p>ProjektmanageDTP: starke&amp;paEndkontrolle: MUmschlaggestaFarbreproduktiBelichtung, Dru</p><p>ISBN 3-8155-051. Auflage 2002</p><p>Dieses Buch istanstelle der OrMicrosoft-Softwin diesem Fall ukopie kann stra</p><p>Alle Rechte voranderen Verfahscher Systeme </p><p>Printed in GerCopyright 2 alle Sorgfalt walten lassen, um vollstndige und akkurate Informationen in diesem Buch bzw. Pro-deren evtl. beiliegenden Informationstrgern zu publizieren. SYBEX-Verlag GmbH, Dsseldorf, ber-die Garantie noch die juristische Verantwortung oder irgendeine Haftung fr die Nutzung dieser, fr deren Wirtschaftlichkeit oder fehlerfreie Funktion fr einen bestimmten Zweck. Ferner kann derden, die auf eine Fehlfunktion von Programmen, Schaltplnen o.. zurckzufhren sind, nicht haft-erden, auch nicht fr die Verletzung von Patent- und anderen Rechten Dritter, die daraus resultiert.</p><p>ment: Simone Schneiderrtner, Willichathias Kaiser Redaktionsbro, Dsseldorfltung: Guido Krsselsberg, Dsseldorf</p><p>onen: Fischer GmbH, Willichck und buchbinderische Verarbeitung: Media Print GmbH, Paderborn</p><p>25-9</p><p> keine Original-Dokumentation zur Software der Firma Microsoft. Sollte Ihnen dieses Buch dennochiginal-Dokumentation zusammen mit Disketten verkauft worden sein, welche die entsprechende</p><p>are enthalten, so handelt es sich wahrscheinlich um Raubkopien der Software. Benachrichtigen Siemgehend Microsoft GmbH, Edisonstr. 1, 85716 Unterschleiheim auch die Benutzung einer Raub-</p><p>fbar sein. Der Verlag und Microsoft GmbH.</p><p>behalten. Kein Teil des Werkes darf in irgendeiner Form (Druck, Fotokopie, Mikrofilm oder in einemren) ohne schriftliche Genehmigung des Verlages reproduziert oder unter Verwendung elektroni-</p><p>verarbeitet, vervielfltigt oder verbreitet werden.</p><p>many002 by SYBEX-Verlag GmbH, Dsseldorf</p></li><li><p>Kurzbersicht</p><p>Kurzbersicht</p><p>Vorwort. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XI1 Installation und Funktionstest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Ein ers3 Grund4 Entwi5 Entwic6 MDI-A7 VC++.8 DebugA FensteB WerkzC Alpha</p><p>Index V</p><p>tes Projekt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25lagen fr die MFC-Entwicklung . . . . . . . . . . . . . . . . . . . . . . . . . 43</p><p>cklung von dialogfeldbasierten Anwendungen . . . . . . . . . . . . 95keln von SDI-Anwendungen. . . . . . . . . . . . . . . . . . . . . . . . . . . . 177pplikationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257net . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307ging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323rstrukturen und zugehrige Funktionen . . . . . . . . . . . . . . . . . 363eugklassen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387</p><p>betische bersicht der im Buch verwendeten MFC-Funktionen 425. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455</p></li><li><p>Inhaltsverzeichnis</p><p>Inhaltsverzeichnis</p><p>Vorwort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XI</p><p>1 Insta</p><p>2 Ein e</p><p>3 GrunVII</p><p>llation und Funktionstest . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1</p><p>Das Studio ist tot, lang lebe das Studio . . . . . . . . . . . 2</p><p>Starten der Installation . . . . . . . . . . . . . . . . . . . . . . . . . 4</p><p>Die zweite Runde Installation des eigentlichen Studios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11</p><p>Eine kurze Beschreibung der installierbaren Komponenten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15</p><p>Abschlieen der Installation. . . . . . . . . . . . . . . . . . . . . 18</p><p>Phase 3 Alles auf den neuesten Stand bringen . . . 20</p><p>Test der Funktionalitt. . . . . . . . . . . . . . . . . . . . . . . . . . 21</p><p>rstes Projekt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25</p><p>Ein erstes Projekt mit dem neuen Visual Studio .NET 26</p><p>Der gute alte MFC-Application Wizard. . . . . . . . . . . . 28</p><p>Das Projekt erzeugen . . . . . . . . . . . . . . . . . . . . . . . . . . . 40</p><p>dlagen fr die MFC-Entwicklung . . . . . . . . . . . . . . . . . . . . . . 43</p><p>Eine kurze Einfhrung in die Windows-Programmierung . . . . . . . . . . . . . . . . . . . . . 44</p></li><li><p>VIII</p><p>Inhaltsverzeichnis</p><p>Ein erstes MFC-Programm. . . . . . . . . . . . . . . . . . . . . . . 54</p><p>Ein sanfter Einstieg. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55</p><p>Beschreibung des MFC-Programms. . . . . . . . . . . . . . . 81</p><p>4 Entw</p><p>5 Entwicklung von dialogfeldbasierten Anwendungen . . . . . . . . 95</p><p>Grundlegender Entwurf einer MFC-Anwendung . . . 96</p><p>ickeln von SDI-Anwendungen . . . . . . . . . . . . . . . . . . . . . . . . 177</p><p>Unterschiede zu dialogfeldbasierenden Applikationen 178</p><p>Die Document/View-Architecture. . . . . . . . . . . . . . . . 178</p><p>Das Apfelmnnchen-Projekt. . . . . . . . . . . . . . . . . . . . . 180</p><p>Ausfllen der OnDraw-Methode . . . . . . . . . . . . . . . . . 194</p><p>Implementation der Apfelmnnchen-Berechnung 195</p><p>Abbildungsmodi unter Windows. . . . . . . . . . . . . . . . . 199</p><p>Wahl eines Abbildungsmodus fr das Apfelmnnchen-Programm. . . . . . . . . . . . . . . . . . 204</p><p>Auswahl eines Mandelbrot-Ausschnitts mit der Maus 237</p><p>Drucken von Dokumenten . . . . . . . . . . . . . . . . . . . . . . 246</p><p>Laden und Speichern . . . . . . . . . . . . . . . . . . . . . . . . . . . 248</p><p>Tooltips in Dialogfeldern . . . . . . . . . . . . . . . . . . . . . . . . 251</p></li><li><p>Inhaltsverzeichnis</p><p>6 MDI-Applikationen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257</p><p>MDI-Applikationen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258</p><p>Quelltextunterschiede zwischen SDI-und </p><p>7 VC++</p><p>8 DebuIX</p><p>MDI-Applikationen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258</p><p>Das MDI-Projekt Bezierkurven . . . . . . . . . . . . . . . . . 258</p><p>Erweitern der Dokumentenklasse . . . . . . . . . . . . . . . . 268</p><p>Initialisieren des Dokuments . . . . . . . . . . . . . . . . . . . . 273</p><p>Darstellen der Dokumentdaten . . . . . . . . . . . . . . . . . . 274</p><p>Integration von Benutzerinteraktionen . . . . . . . . . . . 276</p><p>Anwhlen von Punkten . . . . . . . . . . . . . . . . . . . . . . . . . 277</p><p>Bewegen der Kontroll- und Knotenpunkte . . . . . . . . 285</p><p>Bekanntmachen der neuen Ansichtsklasse . . . . . . . . 290</p><p>Implementation der alternativen Ansichtsklasse . . 296</p><p>.net . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307</p><p>Manuelles Schreiben einer WinForm-Anwendung . 308</p><p>gging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323</p><p>Die Notwendigkeit eines guten Debuggers . . . . . . . 324</p><p>Anlegen eines Debug-Projekts . . . . . . . . . . . . . . . . . . . 326</p><p>Fehlersuche mit den MFC . . . . . . . . . . . . . . . . . . . . . . . 327</p></li><li><p>XInhaltsverzeichnis</p><p>Debuggerinterne berprfungen . . . . . . . . . . . . . . . . 340</p><p>Manuelle Fehlersuche . . . . . . . . . . . . . . . . . . . . . . . . . . 350</p><p>A Fensterstrukturen und zugehrige Funktionen. . . . . . . . . . . . . . 363</p><p>B Werk</p><p>C Alphverw</p><p>IndeWindows-Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364</p><p>Die WNDCLASSEX-Struktur. . . . . . . . . . . . . . . . . . . . . . 378</p><p>CreateWindow(Ex) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381</p><p>Standardstile beim Erzeugen von Fenstern . . . . . . . . 382</p><p>Erweiterte Stile beim Erzeugen von Fenstern . . . . . . 383</p><p>zeugklassen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387</p><p>MFC-Werkzeugklassen . . . . . . . . . . . . . . . . . . . . . . . . . 388</p><p>MFC-Containerklassen. . . . . . . . . . . . . . . . . . . . . . . . . . 396</p><p>GDI-Objekte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400</p><p>Standarddialoge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418</p><p>abetische bersicht der im Buch endeten MFC-Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . 425</p><p>x. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455</p></li><li><p>Vorwort</p></li><li><p>XII</p><p>Vorwort</p><p>Herzlich Willkommen in der Welt von VC++.net. Viel ist darber gertselt wor-den, wie wohl die Vernderungen am Ende des Entwicklungsprozesses tatsch-lich aussehen wrden, nachdem die ersten Betas Anfang 2001 die Rundemachten.</p><p>Das Ergebnis ist recht erfreulich ausgefallen: Die Vorgngerversion wurde inpuncto Bedien- und Benutzerfreundlichkeit um ein Vielfaches bertroffen,neue Anwendungs- und Klassenassistenten machen das Programmieren zur</p><p>wahren Freude.</p><p>Das vorliegende Buch beschftigt sich insbesondere mit diesen Neuerung imRahmen der MFC-Programmierung unter VC++.net, richtet sich allerdings nichtnur an Umsteiger, sondern insbesondere auch an Neueinsteiger, die zwar berC++-Kenntnisse verfgen, bislang den Schritt in die Entwicklung von Windows-Applikationen jedoch nicht vollzogen haben.</p><p>So werden auer Grundkenntnissen in C++ keine weiteren Anforderungen anden Leser gestellt er wird jedoch nach der Lektre in der Lage sein, professio-nelle Windows-Anwendungen zu entwickeln.</p><p>Bei der Konzeption des Buchs kam es uns in erster Linie auf eine sinnvolle Glie-derung und eine behutsame Einfhrung in das Wirrwarr der zahllosen Klassenund Methoden an, die dem Neueinsteiger bei seinen ersten Gehversuchenbegegnen.</p><p>Wert gelegt wurde auch darauf, keine trockenen Programmbeispiele zu prsen-tieren, sondern stets eine gewisse Experimentierfreude durch die Auswahl derzu entwickelnden Anwendungen zu erzeugen.</p><p>Abgerundet wird das Buch schlielich durch ein vergleichsweise umfangrei-ches Kapitel zur Fehlersuche in Programme ein Themenkomplex, dem in derrestlichen Literatur meist nur wenig Aufmerksamkeit gewidmet wird.</p><p>Abschlieend mchte ich Simone Schneider und Ute Dick vom SYBEX-Verlagfr die gute Zusammenarbeit danken und Ihnen viel Spa beim Lesen diesesBuches wnschen.</p><p>Ron Nanko</p><p>Schwackendorf, im Mrz 2002</p></li><li><p>Installation und Funktionstest</p><p>Das Studio ist tot, lang lebe das Studio 2Starten der Installation 4</p><p>Die zweite Runde Installation des eigentlichen Studios 11Eine kurze Beschreibung der installierbaren Komponenten 15</p><p>Abschlieen der Installation 18Phase 3 Alles auf den neuesten Stand bringen 20</p><p>Test der Funktionalitt 21</p></li><li><p>2Das Studio ist tot, lang lebe das Studio1</p><p>Das Studio ist tot, lang lebe das StudioDieses erste Kapitel behandelt die Installation und erste Inbetriebnahme desneuen Visual Studio .NET. Es werden dabei smtliche zur Verwendung ntigenSchritte erlutert und anhand von Screenshots, die whrend einer tatschli-chen Installation angefertigt wurden, illustriert.</p><p>Es ist ein ungeschriebenes Gesetz, dass die Installation neuer Produkte immer</p><p>Installationsa</p><p>Rasche Einnung dandachten mit etwas Aufwand und Zeitbedarf verbunden ist dieser Arbeitseinsatznimmt mit neuen Programmversionen fr gewhnlich immer um wenigstensein Viertel zu.</p><p>VS.NET ein Schwergewicht?ufwand Visual Studio .NET bildet hier keine Ausnahme der gesamte Prozess vom Star-</p><p>ten des Setup Tools bis zum ersten Einsatz des Studios kann, je nach Rechner,durchaus bis zu eine Stunde dauern, insbesondere dann, wenn zunchst nochweitere Windows Components wie zum Beispiel der Internet Explorer aktuali-siert werden mssen.</p><p>Der Aufwand lohnt sich allerdings. Mit der neuesten Version der Visual-Studio-Reihe hat sich ein wrdiger Thronfolger gefunden, der, ganz im neuen XP Look,smtliche fr den Entwickler anfallenden Arbeiten in einem berschaubarenund wohl geordneten Rahmen zur Verfgung stellt. Worum es sich hierbei imEinzelnen handelt, wrde allein ganze Bcher fllen, sodass innerhalb diesesWerks nur auf die fr den Visual C++ .NET-Entwickler relevanten Sachverhalteeingegangen werden kann.</p><p>Die mehrere CDs oder eventuell eine DVD umfassende Visual Studio .NET-Programmversion, die also nun auf Ihrem Schreibtisch liegt, sollte Sie nicht ver-schrecken. Gerade diejenigen Entwickler, die bereits mit dem Vorgnger (VisualStudio 6) gearbeitet haben, werden sich schnell einleben.</p><p>gewh-k durch-Aufbaus</p><p>Aber auch Neueinsteiger, die nach dem Studium der Sprache C++ nun in dievisuelle Programmierung unter Windows eintauchen wollen, drften sichrasch eingewhnen immerhin stecken die Erfahrungen vieler tausend Benut-zer der lteren Versionen in dem neuen Produkt. Wie so oft gilt auch hier:bung macht den Meister und am Ende des Buchs wird jeder in der Lage sein,eigene Windows-Programme zu schreiben und sich, mit diesem Grundwissenausgestattet, die vielen weiteren Bereiche der Entwicklungswelt zu erschlie-en.</p><p>Vor den Erfolg haben die Gtter jedoch die Arbeit gesetzt: die folgenden Seitenbeschreiben daher den kompletten Installationsvorgang, der im Wesentlichenzwar intuitiv, aber trotz allem allein wegen seines Umfangs gerade fr denVisual Studio-Neuling verwirrend sein mag.</p></li><li><p>Installation und Funktionstest1</p><p>Voraussetzungen fr eine erfolgreiche InstallationIm Laufe der verschiedenen Betas und Release Candidates (Microsofts Testversi-onen fr einen breitangelegten Funktionstest vor Auslieferung des fertigenStudios) schwankten die angegeben Minimalvoraussetzungen fr eine erfolg-reiche Verwendung von Visual Studio .NET mitunter recht stark.</p><p>Voraussetzungen fr Mittlerweile haben sich die Wogen geglttet und Microsoft gibt eine Konfigu-ration hnlichnatrlich: lauzungsgeschw</p><p> PC mitempfoh</p><p> Microsodows Xver. Mit.NET ni</p><p> Bentig</p><p> W</p><p> W</p><p> W</p><p> W</p><p> Festpla</p><p> 50d</p><p> 3 S</p><p> Weiterekompat</p><p>Hinweis zu dEs hat nichts den eben genden hier Spezjedoch bei einmance fhrenlieren mssenIn Anbetrachlen Quelltextmensioniert.3</p><p>einen produktiven Einsatz</p><p> der Folgenden als sinnvolle Kombination an (sinnvoll heit hierffhig, jedoch ist mit Leistungseinschrnkungen in der Benut-indigkeit zu rechnen):</p><p> Pentium II Prozessor, 450 MHz (Pentium III mit 600 MHz wirdlen)</p><p>ft Windows 2000 (Server oder Professional), Microsoft Win-P (Home oder Professional) oder Microsoft Windows NT 4.0 Ser- Windows 95 und 98 (gleich welche Version) ist das Visual Studiocht lauffhig!</p><p>ter Speicherausbau:</p><p>indows 2000 Professional: 96 MByte (128 MByte empfohlen)</p><p>indows 2000 Server: 192 MByte (256 MByte empfohlen)</p><p>indows XP Professional: 128 MByte (160 MByte empfohlen)</p><p>indows NT 4.0 Server: 96 MByte (128 MByte empfohlen)</p><p>ttenplatz:</p><p>0 MByte auf dem Systemlaufwerk (das Laufwerk, auf dem auchas Betriebssystem installiert ist, fr gewhnlich also C:)</p><p>GByte auf dem Installationslaufwerk (das Laufwerk, auf das dastudio installiert werden soll)</p><p>s: CD-ROM-Laufwerk, Maus oder kompatibles Eingabegert, VGA-ible Grafikkarte und passender Monitor</p><p>en Angabenmit bertriebener Vorsicht zu tun, wenn an dieser Stelle gleich vorannten Hardwarevoraussetzungen gewarnt wird: natrlich wer-ifikationen angegeben, die zwar zum Arbeiten ausreichend sind,igen Arbeitsschritten sicherlich zu einer unbefriedigenden Perfor- werden. Als...</p></li></ul>