Visual C++ Windows-Programmierung mit den MFC. Frank Budszuhn. ADDISON-WESLEY An imprint of Pearson Education



Ähnliche Dokumente
Frank Budszuhn Thomas Reichel. Visual C Windows-Programmierung mit den MFC ADDISON-WESLEY. An imprint of Addison Wesley Longman, Inc.

Jürgen Kotz Rouven Haban Simon Steckermeier. WCF, WPF und WF - Ein Überblick ADDISON-WESLEY. An imprint of Pearson Education

SQL objektorientiert

Windows-Testumgebung

Windows Scripting lernen

Jasmin Blanchette, Mark Summerfield

Programmierung mit Access 7 für Windows 95

Windows Scripting lernen

Webanwendungen mit IBM Rational und IBM WebSphere V6

Java Server Faces. Andy Bosch. Das Standard-Framework zum Aufbau webbasierter Anwendungen. An imprint of Pearson Education

Objektorientierte Softwaretechnik

Feature-based Programming

Joomla! eigenen Joomla!-Website ^ADDISON-WESLEY. Die Schritt-für-Schritt-Anleitung zur. Stephen Bürge. An imprint of Pearson

Magento Theme-Design. professionelle Themes für Ihren Shop Y%ADDISON-WESLEY. Entwerfen Sie Schritt für Schritt. Richard Carter

PostgreSQL. Professionell und praxisnah. Jens Hartwig. An imprint of Pearson Education

ITIL V3 Basis-Zertifizierung

MCITP für Windows Server 2008

Client/Server- Datenbank- Programmierung

ITIL Überblick. der. Einstieg und Anwendung. Justus Meier, Bodo Zurhausen ^- ADDISON-WESLEY. Martin Bucksteeg, Nadin Ebel, Frank Eggert,

Notes/Domino effektiv nutzen

Datenbank- Programmierung mit InterBase

Google Analytics & Co

MCSE-Zertifizierungsupgrade auf Windows Server 2003

Firewalls illustriert

Echtzeitplattformen für das Internet

Der Rational Unified Process

SQL Server 2005 Der schnelle Einstieg

ecommerce Websites Entwicklung erfolgreicher Web-Auftritte mit Java, JavaScript, HTML, XML und SQL Vivek Sharma Rajiv Sharma ADDISON-WESLEY

ActiveX/DCOM-Programmierung mit Visual C++ 6

Websites organisieren und gestalten mit dem Open Source-CMS ADDISON-WESLEY. An imprint of Pearson Education

C++GUI Programmierung mit Qt 4

Cisco TCP/IP-Routing. net.com networking & communications. Konzeption und Aufbau eines Netzwerkes mit Cisco-Routern TT ADDISON-WESLEY.

Bück Woody. SQL Server Das Handbuch für Administratoren. ADDISON-WESLEY An imprint of Pearson Education

Charles F. Goldfarb Priscilla Walmsley Deutsche Übersetzung: Frank Langenau XML in Office 2003 Daten managen mit Word, Excel, FrontPage und InfoPath

Oliver Lehmann Antje Lehmann. in Suchmaschinen. An imprint of Pearson Education

SQL Server 2008 Performance-Optimierung

SCSI-Bus und IDE-Schnittstelle

Programmieren mit Java

Exchange Server Der schnelle Einstieg

NET.Compact Framework

SQL Server 2008 Der schnelle Einstieg

Frank Eller. Delphi 5. yy ADDISON-WESLEY. An imprint of Pearson Education

Agiles Produktmanagement mit Scrum

Windows NT 4.0 in heterogenen Netzen

Microsoft FrontPage 98

Kompaktseminare Das MS Access 2010 Kursprogramm

Von ODBC zu OLE DB. Neue Möglichkeiten der Datenintegration. Harald Gladytz, Team Vertrieb ESRI Niederlassung Leipzig

Projektmanagement. Konzeption und praktischer Einsatz des R/3 Moduls PS ADDISON-WESLEY. An imprint of Addison Wesley Longman, Inc.

Java-Programmierung mit Visual J++ 1.1

VB.net Programmierung und Beispielprogramm für GSV

Professionelle Rich-Client-Lösungen mit Flex und Java

Windows Server Die technische Referenz: Leistungsoptimierung

LEGO-Mindstorms-Roboter im Informatikunterricht 1 - mit Java-

MySQL im Einsatz. Heinz-Gerd Raymans. Mit ODBC, JDBC, PHP und Perl. An imprint of Pearson Education

Produktinformation DaVinci Developer

ISA Einrichtung einer DFUE VErbindung - von Marc Grote

Inhaltsverzeichnis. Einleitung... 11

Inhalt. Teil I: Qt für Einsteiger Über die Autoren Vorwort Einleitung Danksagungen... 21

Erstellen eines Office-COM-Add-In mit Visual Basic 2005 Express Edition

C++11 C++14 Kapitel Doppelseite Übungen Musterlösungen Anhang

Managementprozesse und Performance

Holger Schwichtenberg. Windows PowerShell. Konzepte - Praxiseinsatz - Erweiterungen. ADDISON-WESLEY An imprint of Pearson Education

Excel 2013 Makro Workshop. Inhalt

Bausteine mechatronischer Systeme

Office in Java. 2. Info-Point Urs Frei

2.1 Sicherheits-Zonen ActiveX-Steuerelemente Skripting Verschiedenes Erweitert... 9

Integrative Aspekte eines fragebogenbasierten Wissenspools am Beispiel einer Applikation zum Prozessmanagement

Wichtige Information zur Verwendung von CS-TING Version 9 für Microsoft Word 2000 (und höher)

Java lernen mit BlueJ

Die Orgadata AG ist ein stark expandierendes Software-Unternehmen aus Leer. Mit unserem System LogiKal

Dirk Hachenberger Mathematik für Informatiker

Übungsklausur vom 7. Dez. 2007

ArcObjects-Programmierung mit Delphi. Marko Apfel, Team Entwicklung

Einführung in die OPC-Technik

Database Exchange Manager. Infinqa IT Solutions GmbH, Berlin Stralauer Allee Berlin Tel.:+49(0) Fax.:+49(0)

Management von IT-Architekturen

Microsoft Access Schulungen

Tipps und Tricks zu Netop Vision und Vision Pro

Objektorientierte Programmierung OOP

Microsoft Access 2010 Bilder

Praktikant / Abschlussarbeit im Bereich Softwareentwicklung / Mechatronik (m/w)

Einbindung einer ACT!12-16 Datenbank als Datenquelle für den Bulkmailer 2012

Aufgabe GBIS (TPCW-Benchmark)

Anleitung zur Erstellung eines PDF/A1b-konformen Dokuments aus einer PDF-Datei

Achim Bühl, Peter Zöfel SPSS. Methoden für die Markt- und Meinungsforschung. Technische Unäversität Darmstadt

Einstellen der Druckoptionen

VIVIT TQA Treffen in Köln am API- Programmierung und Nutzung bei HP Quality Center / ALM. Michael Oestereich IT Consultant QA

Vorstellung des BMBF-Projektes FluSs aus Sicht eines Endanwenders. Düsseldorf Maritim-Hotel, 09. Juli 2013 Mark Zwirner

Das Pflichtenheft. Dipl.- Ing. Dipl.-Informatiker Dieter Klapproth Ains A-Systemhaus GmbH Berlin

TERRA CLOUD. Remote Desktop Server Aktivierung - Handbuch

Methoden des Feldbuszugriffs bei PCs unter MS-Windows - ein State-of-the-Art-Report

Im folgenden wird die Outlookanbindung an organice/pi beschrieben.

Service & Support. Was sind die Vorraussetzungen für einen Client-Server-Betrieb mit Simatic WinCC (<V5 & V5)? WinCC.

Inhalt. Vorbemerkungen... 1

Dialogfeld «Speichern unter» öffnen und unter Dateityp «Word Dokument mit Makros» wählen. Das Dokument wird mit der Endung.dotm abgespeichert.

Anleitung. Deutsch. Grundfunktionen der Hornetdrive Clients

Knasmüller.book Seite vii Mittwoch, 28. März : vii. Inhaltsverzeichnis

mmone Internet Installation Windows XP

mit Delphi Messen, Steuern, Regeln Franzis Sören Götz/Reiner Mende Objektorientierte Programmierung realer Objekte Mit 100 Abbildungen

Alexandru Arion, Benjamin Schöllhorn, Ingo Reese, Jürgen Gebhard, Stefan Patsch, Stephan Frank

Transkript:

Frank Budszuhn Visual C++ Windows-Programmierung mit den MFC ADDISON-WESLEY An imprint of Pearson Education München Boston San Francisco Harlow, England Don Mills, Ontario Sydney Mexico City Madrid Amsterdam

1 1.1 1.2 1.3 1.4 1.5 2 2.1 2.1.1 2.1.2 2.1.3 2.2 2.2.1 2.2.2 2.3 2.3.1 2.3.2 2.3.3 2.3.4 2.3.5 2.3.6 2.3.7 2.3.8 2.4 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 Vorwort Einleitung Zielgruppe dieses Buchs Windows-Programmierung und die MFC Aufbau des Buchs Zu den Programmbeispielen Das Beispielprogramm StockChart Einstieg in die MFC-Programmierung Einführung Aufbau der MFC Konventionen StockChart, ein Programm zur Anzeige von Aktienkursen Kleine Einführung ins Wertpapiergeschäft Vorstellung des Programms StockChart Die Dokument-Ansicht-Architektur Das Anwendungsgerüst Das Applikationsobjekt Das MVC-Modell Die Klassen des Anwendungsgerüsts Kommunikation zwischen den Klassen des Anwendungsgerüsts Serialisierung Nachrichtenverarbeitung Ein Programm mit dem Anwendungs-Assistenten erstellen Der Anwendungs-Assistent Die Applikationsklasse Das Hauptrahmenfenster ;. Die Dokumentenklasse Die Ansichtsklasse Erste Anlaufpunkte im erzeugten Quelltext II 13 13 14 15 16 17 19 19 23 26 27 28 28 30 32 32 33 34 36 40 42 44 47 47 47 58 64 66 69 70 70

2.5 Werkzeugklassen und Dateizugriff 71 2.5.1 Klassen für einfache Datentypen " 72 2.5.2 Klassen für Ansammlungen von Datentypen 74 2.5.3 Klassen zum Dateizugriff 77 2.5.4 Klassen zur Ausnahmebehandlung 78 2.5.5 Verwendung der Werkzeugklassen in StockChart 82 2.5.6 86 2.6 Grafikausgabe und Drucken 87 2.6.1 GDI-Objekte und Gerätekontexte 87 2.6.2 Abbildungsmodi 90 2.6.3 Grafikausgabe mit der Dokument-Ansicht-Architektur 92 2.6.4 Grafikausgabe in StockChart 93 2.6.5 Tipps zur Vorgehensweise 101 2.6.6 Drucken und Druckvorschau 101 2.6.7 104 2.7 Dialogfeldprogrammierung 104 2.7.1 Standarddialogfelder 107 2.7.2 Modale Dialogfelder 113 2.7.3 Nichtmodale Dialogfelder /' 114 2.7.4 DDXundDDV 115 2.7.5 Datenaustausch ohne DDX 119 2.7.6 Dialogimplementierung im Programm StockChart 120 2.7.7 Tipps zur Vorgehensweise 132 2.7.8 133 2.8 Mehr zu Steuerelementen 134 2.8.1 Das Programm WinControl 134 2.8.2 Eigenschaftsdialogfelder 157 2.8.3 161 2.9 HTML-basierte Dialogfelder 161 2.10 Fehlersuche mit den MFC 166 2.10.1 Makros zur Fehlersuche 166 2.10.2 Tipps zur Vorgehensweise 177 2.10.3 177 2.11 MFC und DLLs 178 2.11.1 Vorteile von DLLs 178 2.11.2 Reguläre MFC-DLLs 182 2.11.3 MFC-Erweiterungs-DLLs 188 2.11.4 StockChart mit DLL 188 2.11.5 Tipps zur Vorgehensweise 191 2.11.6 192 2.12 Programmierung mit Threads 192 2.12.1 Aufbau und Funktionsweise von Threads 194 2.12.2 Threads in den MFC 195 2.12.3 Das Beispielprogramm Mandelbrot. 197 2.12.4 Die Programmierung mit Bitmaps 199 2.12.5 Der Programmcode von Mandelbrot 200 2.12.6 Kapselung des Arbeits-Threads durch die Dokumentenklasse 214 2.12.7 Vorzeitiges Beenden des Arbeits-Threads 215

2.12.8 2.12.9 2.13 Tipps zur Vorgehensweise MFC- 226 227 227 3 3.1 3.1.1 3.1.2 3.1.3 3.2 3.2.1 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.2.7 3.2.8 3.2.9 3.2.10 3.2.11 3.2.12 3.2.13 3.2.14 3.2.15 3.2.16 3.2.17 3.2.18 3.2.19 3.2.20 3.2.21 3.2.22 3.2.23 3.2.24 3.2.25 3.2.26 3.3 3.3.1 3.3.2 3.3.3 3.3.4 3.3.5 3.3.6 3.3.7 3.3.8 3.3.9 3.3.10 3.3.11 COM, OLE und ActiveX Einführung Motivation Begriffe Übersicht Das Komponentenobjektmodell Anforderungen an eine Softwarekomponente Lassen sich die Anforderungen an Softwarekomponenten mit der Sprache C++ realisieren? Eigenschaften des Komponentenobjektmodells COM Schnittstellen COM-Klassen GUIDs Die COM-Notation,/ Die Schnittstelle lunknown Klassenfabriken Die COM-Laufzeitbibliothek Verwendung eines COM-Servers Wie man einen COM-Server implementiert Das Beispielprogramm CppServer Registrierung von COM-Servern Bewertung der Implementierung des Programms CppServer Das Beispielprogramm CppServerNested Mehrfachvererbung versus eingebettete Klassen Implementierung eines COM-Servers mit den MFC Die Interface Definition Language Attributierte Programmierung Einbettung und Aggregation Ausführungsmodelle bei COM-Servern COM+ Tipps zur Vorgehensweise COM im Kontext anderer Windows-Technologien Automation Ein erstes Beispiel Die Schnittstelle IDispatch Implementierung eines Automationsservers mit den MFC Die Automationsimplementierung der MFC Automation mit dem Windows Scripting Host Implementierung eines Automations-Clients mit den MFC Das Beispielprogramm MFCAutoClient2 Registrierung von Typbibliotheken Duale Schnittstellen Tipps zur Vorgehensweise 229 229 229 232 235 236 236 240 248 249 250 250 252 253 254 255 256 269 270 280 283 286 295 295 299 306 309 312 314 316 318 319 320 322 326 329 339 342 344 353 358 361 362 363

3.4 Vereinheitlichter Datenaustausch 363 3.4.1 Die Schnittstelle IDataObject ' 363 3.4.2 Datenaustausch über die Zwischenablage 368 3.4.3 Datenaustausch durch Drag&Drop 369 3.4.4 Die Klassen der MFC für den vereinheitlichten Datenaustausch 372 3.4.5 Vereinheitlichter Datenaustausch mit dem Programm StockChart 373 3.4.6 Tipps zur Vorgehensweise 383 3.4.7 383 3.5 Object Linking and Embedding 384 3.5.1 Strukturierte Ablage 386 3.5.2 Verbunddateien 392 3.5.3 Die Schnittstelle ILockBytes 393 3.5.4 Persistente COM-Objekte 395 3.5.5 Die OLE-Schnittstellen 398 3.5.6 Die MFC-Klassen zur OLE-Programmierung 402 3.5.7 StockChart als OLE-Server 405 3.5.8 ActiveX-Dokumente 418 3.5.9 MFC-Unterstützung für ActiveX-Dokumente 419 3.5.10 StockChart als ActiveX-Dokument 420 3.5.11 Tipps zur Vorgehensweise 423 3.5.12 424 3.6 ActiveX-Steuerelemente 425 3.6.1 Die Anatomie von ActiveX-Steuerelementen 427 3.6.2 Verwendung von ActiveX-Steuerelementen mit den MFC 429 3.6.3 Ein ActiveX-Steuerelement im Programm StockChart 431 3.6.4 Technische Grundlagen von ActiveX-Steuerelementen 436 3.6.5 ActiveX-Steuerelemente mit den MFC erstellen 437 3.6.6 ActiveX-Steuerelemente im Internet 461 3.6.7 Tipps zur Vorgehensweise 464 3.6.8 465 3.7 COM, OLE und ActiveX 466 4 Datenbankprogrammierung 469 4.1.1 Begriffe und Eigenschaften 469 4.1.2 Datenbankschnittstellen 472 4.1.3 Die Datenbank AKTIEN.MDB 473 4.2 ODBC 475 4.2.1 Die ODBC-Architektur 475 4.2.2 Die MFC-Klassen zur ODBC-Programmierung 478 4.2.3 Einrichtung von ODBC 481 4.2.4 Das Beispielprogramm StockODBC 484 4.2.5 Die vordefinierten Funktionen der Klasse CRecordView 487 4.2.6 Das Beispielprogramm ODBCChart, 499 4.2.7 Weitere Möglichkeiten ' 518 4.2.8 Tipps zur Vorgehensweise 520 4.2.9 521

4.3 DAO 521 4.3.1 Die MFC-Klassen zur DAO-Programmierung 522 4.3.2 Das Beispielprogramm StockDAO 524 4.3.3 Das Beispielprogramm DAOChart, 532 4.3.4 Tipps zur Vorgehensweise 540 4.3.5 541 4.4 OLE DB 541 4.4.1 OLE DB und die MFC 543 4.4.2 Die OLE DB-Nutzer-Template-Klassen 544 4.4.3 OLE DB-Nutzer-Attribute 546 4.4.4 Das Beispielprogramm StockOLEDB 546 4.4.5 Das Beispielprogramm OLEDBChart 556 4.4.6 Tipps zur Vorgehensweise 577 4.4.7 578 4.5 zur Datenbankprogrammierung 578 5 Internetprogrammierung 581 5.1 Einführung / 581 5.1.1 Bereiche der Internetprogrammierung 584 5.2 Internetbrowser im Eigenbau 586 5.2.1 Die Klasse CHtmlView 587 5.2.2 Das Beispielprogramm StockBrowser 588 5.2.3 Tipps zur Vorgehensweise 599 5.2.4 Weitere HTML-Klassen, 600 5.2.5 600 5.3 Programmierung mit Winlnet 601 5.3.1 Protokolle im Internet 601 5.3.2 TCP/IP-Programmierung unter Windows 604 5.3.3 HTTP 605 5.3.4 Das Testen von Internetanwendungen 608 5.3.5 Die MFC-Klassen der Winlnet-Bibliothek 609 5.3.6 Ablauf einer Winlnet-Sitzung 611 5.3.7 Das Beispielprogramm FileRobot 613 5.3.8 Das Beispielprogramm FileRobot2 624 5.3.9 Tipps zur Vorgehensweise 628 5.3.10 629 5.4 Programmierung von Server-Erweiterungen mit ISAPI 629 5.4.1 MFC-Klassen für die ISAPI-Programmierung 631 5.4.2 Die Server-Erweiterung GuestBook 632 5.4.3 ISAPI-Deployment 646 5.4.4 ISAPI-Filter 648 5.4.5 Tipps zur Vorgehensweise 648 5.4.6, 648 5.5 Internetprogrammierung 649

10 Inhalt A Glossar o 651 B Versionsgeschichte der MFC 667 C Literaturverzeichnis 669 C.l Bücher 669 C.2 Online-Dokumentation 670 C.2.1 Technische Hinweise 670 C.2.2 Artikel und Aufsätze in der Online-Hilfe 670 C.3 Informationsquellen im Internet 670 C.3.1 MFC FAQ 670 C.3.2 Visual C++ developers Journal 670 C.3.3 MFC Programmer's SourceBook 671 C.3.4 Mailinglisten 671 C.3.5 Usenet Gruppen 671 D MFC-Programmierung imschatten von.net 673 Index 677