Windows CE-Konfigurationsanwendung

Anpassen von Zeichensatz und Stil des statischen Textfelds

Um den geeigneten Zeichensatz für das statische Textfeld zur Anzeige der CNET-Konfiguration zu benutzen, habe ich die Methode WindowProc in den Klassen CPageTab implementiert. Ich habe die Nachricht WM_CTLCOLORSTATIC gesetzt und anschließend den aktuellen Zeichensatz und die Schriftfarbe geändert, so dass das Textfeld den Text wie gewünscht anzeigt.

WM_CTLCOLORSTATIC passiert das hDC und das hWnd des neu anzuzeigenden statischen Textfelds. Ich verwende diese Variablen als Argumente für die in Listing A dargestellte Funktion.

Wie Sie sehen, habe ich eine statische Variable zum ersten Erstellen des Zeichensatzes verwendet, wobei alle nachfolgenden Anzeigen mithilfe eines Pointers zu diesem Zeichensatz entstehen. Wenn Sie die Farbe und die Schriftart des Zeichensatzes beibehalten wollen, dürfen Sie lediglich die Methode WindowProc in den PropertyPages nicht überschreiben. Der gesamte übrige Code wird einwandfrei funktionieren.

Statt den Zeichensatz mit seiner Schriftart zu verwenden, hielt ich es für praktischer und dem OS angemessener, den System-Zeichensatz zu benutzen und diesen an die anderen Anwendungen der Windows CE Settings anzugleichen. Der Schriftsatz ist marineblau und entspricht, wie ich feststellte, unter Verwendung der oben aufgeführten Einstellungen farblich dem Rand eines aktiven Fensters.

Erstellen eines PropertySheet mit PropertyPages

Sie fragen sich vielleicht, wie ich das Eigenschaftsblatt erstellt und die Seiten zu ihm hinzugefügt habe. Ich habe ganz einfach den MFC ClassWizard zur Einrichtung vier unabhängiger Klassen verwendet, von denen eine von CPropertySheet und die drei anderen von CPropertyPage abgeleitet sind. In der Methode CWinApp::InitInstance fügte ich die Seiten zu dem Eigenschaftsblatt hinzu, wie in Listing B gezeigt.

Ich instantiierte die Objekte aus der Ableitung von CPropertySheet und CPropertyPage und nicht aus den Klassen CPropertySheet und CPropertyPage selbst.

Ich habe sämtliche Variablen des Stacks initialisiert und einfach die Seiten dem Blatt zugeordnet. Anschließend rief ich die Methode DoModal auf dem Eigenschaftsblatt auf, die sämtliche GUI-Interaktionen mit dem Benutzer handhabt.

Wenn InitInstance die Ausgabe FALSE erzeugt, führen die MFC die Windows-Message-Pump nicht aus. Ich könnte nun ein nicht modales Dialogfeld erzeugen, indem ich CPropertySheet::Create() statt CPropertySheet::DoModal() erstelle. In diesem Fall müsste ich TRUE ausgeben, so dass die Windows-Message-Pump die Nachrichten zur normalen Benutzer-Interaktion handhaben könnte. Wenn ich ein nicht modales Dialogfeld erstelle und die Ausgabe FALSE erzeuge, schließt die Anwendung den Vorgang.

Themenseiten: Anwendungsentwicklung, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Windows CE-Konfigurationsanwendung

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *