2. MFC Microsoft Foundation Classes



Ähnliche Dokumente
Eclipse User Interface Guidelines

Charles Petzold. Windows 95. Programmierung ; ' :,:" 'üijijsarkmüw.flsfflfi <<>\ lll i '»,, 'S ) ;ji*roi/;>w >JG

Text-Bild-Link-Editor

Erstellen von PDF-Dateien aus bocad-3d in der Version 19.xxxx und 20.xxxx

Windows 8.1. Grundkurs kompakt. Markus Krimm, Peter Wies 1. Ausgabe, Januar inkl. zusätzlichem Übungsanhang K-W81-G-UA

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

ECDL Europäischer Computer Führerschein. Jan Götzelmann. 1. Ausgabe, Juni 2014 ISBN

Graphische Benutzungsoberflächen

Flexible und unflexible Textfelder

Einleitung. Hauptteil. Wir befinden uns nun im Demoarchiv.

Da die Bedienung des Editors viele Möglichkeiten aufweist, aber auch etwas Übung voraussetzt, haben wir ihm ein eigenes Unterkapitel gewidmet.

8 Design Patterns. Events

Windows Presentation Foundation - Crashkurs

Aktivierung von Makros in den Erfassungshilfen

Ein Bild in den Text einfügen

Tipps & Tricks by INNOVA-engineering GmbH

Kapitel 3 Bilder farblich verändern - Arbeiten mit Objekten

Übung - Festplattenwartung in Windows Vista

Barcode Master. Barcode Generator für PC Windows und MAC OS. Bedienungsanleitung und Handbuch. Version 1.1. Dr.J.Willrodt /

Satzhilfen Publisher Seite Einrichten

Übung Bilder verschmelzen

Icon Schritt für Schritt

Die aktuelle Entwicklung des GeoService-Portals. Analyse- und Auswertefunktionen

Einführung in Subversion. Tutorium SWP

Sicherheit von PDF-Dateien

Existierende Systeme I Bibliotheken & Frameworks

Bedienungshinweise für das Smartboard. Basisfunktionen

Kap. 35 Swing: Grundlagen Kap Swing: Hauptfenster

Hinweise zum Übungsblatt Formatierung von Text:

IVS Arbeitsgruppe Softwaretechnik Abschnitt Management komplexer Integrationslösungen

Mediator 9 - Lernprogramm

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September


Eine Anwendung mit InstantRails 1.7

Zentrale Objekte zur Programmierung graphischer Benutzeroberflächen (GUI)

multisign Signatur-Prüfwerkzeug Handbuch Security Networks AG Stand:

FRILO-Aktuell Ausgabe 2/2013

Delphi eine Einführung

Peter Norton Paul Yao. f}oü r^v rjo I L) Deutsche Übersetzung: ADP Dripke GmbH. Markt&Technik Verlag AG

Mit Steuerung auf eine Ebene mit einem freigestelltem Objekt klicken (linke Maustaste), um nur dieses Objekt zu markieren

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Von Windows-Forms zu WPF mit Expression Blend? Thomas Müller conplement AG Nürnberg

Universität Augsburg, Institut für Informatik Sommersemester 2005 Prof. Dr. Werner Kießling 16. Juli 2005 Dr. Alfons Huhn, Timotheus Preisinger

Bedienungsanleitung XML Viewer V1.x.x.x. Version 0.1

Bildbearbeitung mit IrfanView

Objektorientierte Softwareentwicklung

1. Allgemein Speichern und Zwischenspeichern des Designs Auswahl der zu bearbeitenden Seite Text ergänzen Textgrösse ändern 3

Installation von SAS unter Windows XP

Graphikformate Ein kurzer Überblick

Nutritioner V2.0: Lokaler, Synchronisations- und Servermodus

OERA OpenEdge Reference Architecture. Mike Fechner PUG Infotag 19. Mai 05 Frankfurt

Enterprise Java Beans

Produktschulung WinDachJournal

Fastviewer Remote Support & Präsentation - Teilnehmer

Sobald Sie in Moodle einen Textbeitrag verfassen möchten, erhalten Sie Zugang zu folgendem HTML- Texteditor:

Nach dem Einstecken des mdentity wird die Anwendung nicht gestartet

Design Patterns 2. Model-View-Controller in der Praxis

PowerPoint 2010 ein paar wichtige Befehle

Programmbeschreibung PM_Admin1 Version 1.00 Build 0037 Juni 2015

Forest-Plot in Excel 2010 erstellen

Professur für Betriebswirtschaftslehre, insbesondere Verkehrsbetriebslehre und Logistik. GIS Tutorium

GRAFISCHE BENUTZERSCHNITTSTELLEN

PowerPoint: Text. Text

Algorithmische Kryptographie

Windows Presentation Foundation - Crashkurs

GIMP Objekte frei stellen

Windows 10 - Probleme

XAML Extensible Application Markup Language. Manuel Naujoks (IB3)

Softwareproduktlinien Teil 4: Versionsverwaltungs- und Buildsysteme

Stand: Adressnummern ändern Modulbeschreibung

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

Anwendungsfall: Gerichtstermin

LISP. Eine Einführung

Landesakademie für Fortbildung und Personalentwicklung an Schulen

Windows Explorer Das unbekannte Tool. Compi-Treff vom 19. September 2014 Thomas Sigg

Berechnung von Strukturgleichungsmodellen mit Amos. Im folgenden kurze Einführung: Arbeiten mit Amos Graphics

Tastatur & Mause Befehle

TYPO3 Flip Book. TYPO3 Modul für Online-PDFs auf Basis von HTML5. System-Voraussetzungen: WebSite mit TYPO3 ab Version 4.5

Identity & Access Management in der Cloud

Tastatur auf Hebräisch umstellen

CAD-Gruppen. 1. Inhaltsverzeichnis. 1. Inhaltsverzeichnis 1 2. Was ist eine CAD-Gruppe? Erstellen von CAD-Gruppen 5

Dokument Lob erstellen

Anwenderhandbuch. xdomea-viewer

TwinCAT HMI Application

2 Open BIM Workflow ARCHICAD und DDS-CAD

EPLAN Integration für SAP

Whitepaper. Produkt: combit Relationship Manager 7. combit Relationship Manager -rückläufer Script. combit GmbH Untere Laube Konstanz

Handbuch. für die. Erstellung von Mehrfarbstempeln. mit. Corel Draw (Deutsch)

Navigieren auf dem Desktop

ARAkoll 2013 Dokumentation. Datum:

Kindergarten- / Grundstufentagung Mittwoch, den 24. Januar

Leistungsgesteuerte Terminplanung

MESSI DIE HDM MESSENGER DIENSTE. MI-Präsentationstag

Komponentenbasierter Taschenrechner mit CORBA

SAP NetWeaver Gateway. 2013

Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista

Transkript:

2. MFC Microsoft Foundation Classes Vorlesung Application Frameworks und Componentware Universität Trier Winter 2002 Frameworks Vorgefertigter Anwendungsrahmen Vorgeplante Lücken ausfüllen Funktionalität ggf. erweitern Ableitungen Neue Klassen Spezifisch für bestimmte Anwendungsdomäne Domänenexperte waren Modellierer/Entwickler Etablierte Konzepte Werkzeugunterstützung beim Ausfüllen der Lücken (c) Peter Sturm, Universität Trier 1

MFC Primäre Anwendungsdomäne: GUIs Einheitliches Look and Feel Ursprünglich OO-Zugang WIN-API: Klassensammlung Mittlerweile auch Application Framework Anwendungsgrundstruktur GUI-Philosophie Stetig gewachsen: Version 6 ca. 200 Klassen Weitreichende Werkzeugunterstützung Diverse Wizards Interface Builder Literatur: Jeff Prosise, Programming Windows with MFC, 2. Auflage, MS Press, 1999 Document/View-Architektur basiert MVC-Konzept aus Smalltalk Trennung von Inhalt (Semantik, Model) Darstellung (Syntax, View) Interaktion (Control) Vor- und Nachteile? Model Control in MFC nicht separiert Jede Klasse kann übernehmen Zwei Ansätze Single Document Interface (SDI) Multiple Document Interface (MDI) View Control (c) Peter Sturm, Universität Trier 2

Klassenübersicht (c) Peter Sturm, Universität Trier 3

Abhängigkeiten MFC setzen auf WIN32-API auf GDI Zeichenbefehle Fonts Farbverwaltung User Fensterverwaltung Dialoge, Buttons,... Ereignisse Kernel Speicherverwaltung Threads Synchronisation Dateien... Applikation MFC GDI User Kernel Windows Subsystem (c) Peter Sturm, Universität Trier 4

MFC: Bereich GDI Device Context Device Context (DC) Konzentration graphikspezifischer Zeichenattribute Attribute Textfarbe Hintergrundfarbe Hintergrundmodus Mapping Modus Zeichenmodus Aktuelle Position (Turtle Graphics :-) Aktueller Stift (Pen), Pinsel (Brush),... Bitmaps, Palettes, Regions,... Aktueller Font (c) Peter Sturm, Universität Trier 5

Zeichenmodus CPaintDC dc(this) dc.setrop2(rop) Mögliche Rasteroperationen rop, u.a.: R2_NOP: dest = dest R2_NOT: dest = not dest R2_BLACK: dest = BLACK R2_COPYPEN: dest = src R2_MERGEPENNOT: dest = (NOT dest) or src R2_MERGEPEN: dest = dest OR src R2_MASKPEN: dest = dest AND src... R2_XORPEN: dest = dest XOR src Was macht man bei Farben? Mapping Modus Umwandlung Logische Koordination in Gerätekoordinaten Modi MM_TEXT: Logische Einheit = 1 Pixel MM_LOMETRIC: Logische Einheit = 0.1 mm MM_HIMETRIC: 0.01 mm MM_LOENGLISH: 0.01 inch MM_HIENGLISH: 0.001 inch MM_TWIPS: 1/1440 inch MM_ISOTROPIC: User Defined (X- und Y-Skalierung gleich) MM_ANISOTROPIC: User Defined (Skalierungen beliebig) Richtung der X- und Y-Achsen (c) Peter Sturm, Universität Trier 6

Zeichenfunktionen Grundfunktionen Aktuelle Position verändern (MoveTo) Linien (LineTo) Polygonzüge (Polyline, PolylineTo) Kreisbögen (Arc, ArcTo) Bezierkurven (PolyBezier, PolyBezierTo) Kombinationen aus Linien und Bezierkurven (PolyDraw) Geschlossene Objekte Chord (Schnitt Ellipse und Halbeebene) Ellipse Tortenstück (Pie) Polygon Rechteck (mit und ohne runde Ecken) Stifte Stiftdicke Stiftstil Durchgehender Stift (PS_SOLID) Gestrichelt (PS_DASH) Gepunktet (PS_DOT) Keine Linie (PS_DOT) Varianten: PS_DASHDOT, PS_DASHDOTDOT Spezial: PS_INSIDEFRAME Linien bleiben innerhalb der Objekt-BoundingBox Stiftfarbe (c) Peter Sturm, Universität Trier 7

Pinsel Ausfüllen von Flächen Modi Einheitliche Farbe Muster (HatchBrush): Linien Kariert Schraffiert... Ursprung Wichtig beim Tiling Textfunktionen Unterstützung von ASCII- und UNICODE-Text Diverse Ausgabefunktionen DrawText: Ausgabe innerhalb einer BoundingBox TextOut: Ausgabe ab einer Position ExtTextOut: Textausgabe inkl. Hintergrund füllen und variable Zeichenabstände TabbedTextOut: Berücksichtigung von Tabulatoren Zusätzliche Funktionen: Länge eines String bei gegebenen Font Abfragen von Fontgrößen (Höhe, Extent,...) Fontverwaltung (c) Peter Sturm, Universität Trier 8

Messages Rückmeldung von Graphik -Ereignissen an Anwendung Umfangreiche Sammlung Fensterverwaltung Öffnen, Schließen, Iconfiy Überdeckung und Sichtbarwerden von Fensterbereichen Mausereignisse Drücken und Loslassen von Maustasten Maus betritt Fenster Maus verläßt Fenster Mausrad Tastatur Quiz: Realisierung Messages Nahezu jede Klasse kann Messages empfangen und verarbeiten (c) Peter Sturm, Universität Trier 9

MFC: Bereich User Single Document Interface Grundarchitektur Application Object Allgemeine Verwaltungsaufgabe Application Object Document Object Verwaltet Dokumentzustand MVC-Modeler, -Control View Object Darstellung View Object Document Object (c) Peter Sturm, Universität Trier 10

CDocument Grundfunktionen Zugriff auf zugeordnete CView-Objekte Zugriff auf Pfadnamen des Dokuments Titel Modifikationsstatus (ismodified, SetModifiedFlag) Aktualisierung (UpdateAllViews) Überschreibbare Funktionen Erzeugung eines neuen Dokuments (OnNewDocument) Öffnen eines Dokuments (OnOpenDocument) Löschen eines Dokumentzustands (DeleteContents) Serialisierung (Serialize) CView Überschreibbare Grundfunktionen Initialisierung (OnInitialUpdate) Sicht darstellen (OnDraw) Dokumentzustand verändert (OnUpdate) (c) Peter Sturm, Universität Trier 11