Widgets

Fenster mit Objekttyp Eigenschaften, sie steuert genannt werden in der Windows-Welt und machen die Elemente der Benutzeroberfläche. Sie können automatisch auf bestimmte Ereignisse reagieren, zum Beispiel eine Schaltfläche kann in einem anderen Zustand erscheinen, wenn sie gedrückt wird. Widgets erstellt werden müssen, sind Eigenschaften, die jederzeit während ihrer Existenz verändert werden können und dann in der Regel gelöscht, wenn sie nicht mehr benötigt werden. Genau wie ein Fenster, ist ein Widget, das durch einen Griff ist durch seine Funktion erstellen zurückgegeben verwiesen. Widgets erfordern den Window-Manager. Sobald ein Widget erstellt wird, wird es wie jedes andere Fenster behandelt, die WM wird sichergestellt, dass es richtig angezeigt (und neu gezeichnet), wann immer notwendig ist. Widgets sind nicht erforderlich, wenn eine Anwendung schreiben oder eine Benutzeroberfläche, aber sie können, machen das Programmieren einfacher

Einige Grundlagen

Erhältlich Die folgenden Widgets Widgets sind derzeit verfügbar: Name Beschreibung
Taste Taste, die gedrückt werden können. Text oder Bitmaps können auf Knopfdruck angezeigt werden.
CHECKBOX Check-Box, die geprüft oder deaktiviert werden. DropDown Dropdown-Listenfeld, öffnet sich ein Listenfeld, wenn gedrückt EDIT Single-line Eingabefeld, das den Anwender auffordert, eine Zahl oder Text. FRAMEWIN Frame-Fenster. Erzeugt den typischen GUI aussehen. Graph graph Widgets verwendet, um Daten zu visualisieren. Header Header Kontrolle verwendet, um Spalten zu verwalten LISTBOX Listbox, welche Elemente, wie sie durch den Benutzer ausgewählt werden Highlights. ListView Listview Widgets zu verwenden schafft Tabellen. MENU Menu Widget kann verwendet werden, um verschiedene Arten von Menüs zu erstellen. MESSAGEBOX eine MessageBox-Widget wird verwendet, um eine Nachricht in einem Frame-Fenster mit einem Titel und einem BA Schaltfläche "OK" zu zeigen. MultiEdit MultiEdit Widget können Sie Text mit mehreren Zeilen zu bearbeiten. MULTIPAGE Durch die Verwendung eines mehrseitigen Widget kann eine Anwendung definieren mehrere Seiten für die gleiche Fläche von einem Fenster oder Dialogfeld. PROGBAR Progress bar für die Visualisierung genutzt. RADIOBUTTON Radio-Taste, die ausgewählt werden können. Nur einer Taste können gleichzeitig ausgewählt werden. SCROLLBAR Scrollbar, die horizontal oder vertikal sein kann. SLIDER Slider Bar zum Verändern von Werten verwendet. TEXT Static Text steuert typischerweise in Dialogen verwendet.

Das Verständnis der Mechanismen Neuzeichnen

Ein Widget zieht sich nach ihren Eigenschaften. Dies geschieht, wenn WM_ExecIdle () aufgerufen wird. Wenn Sie nicht anrufen WM_ExecIdle () aus Ihrem Programm, WM_PAINT () muss für das Widget aufgerufen werden. In einer Multitasking-Umgebung, ist ein Hintergrund-Task normalerweise verwendet, um WM_ExecIdle ()-Aufruf und aktualisieren Sie die Widgets (und alle anderen Fenster mit Callback-Funktionen). Es ist dann nicht notwendig, manuell aufrufen WM_PAINT (), allerdings ist es noch legal ist, dies zu tun und kann auch Sinn machen, wenn Sie sicherstellen, dass das Widget neu gezeichnet wird sofort wollen. Wenn eine Eigenschaft eines Widget geändert wird, wird das Fenster des Widgets (oder Teil davon) als ungültig markiert, aber es ist nicht sofort neu gezeichnet. Daher führt der Code-Abschnitt sehr schnell. Die redrawal wird durch die WM zu einem späteren Zeitpunkt erfolgen oder es können durch den Aufruf WM_PAINT () für das Widget (oder WM_ExecIdle (), bis alle Fenster neu gezeichnet werden müssen).

Wie benutzt man Widgets

Angenommen, wir möchten ein Fortschrittsbalken angezeigt. Alles, was gebraucht wird, ist den folgenden Code:
PROGBAR_Handle hProgBar;
GUI_DispStringAt ("Progress Bar", 100, 20);
hProgBar PROGBAR_Create = (100, 40, 100, 20,
WM_CF_SHOW);
Die erste Zeile reserviert Speicher für die der Griff Widget. Die letzte Zeile tatsächlich schafft das Widget. Das Widget wird dann automatisch durch den Fenster-Manager erstellt werden, wenn WM_ExecIdle () zu einem späteren Zeitpunkt oder in einem separaten Task aufgerufen wird. Member-Funktionen sind für jede Art von Widgets, die Änderungen zu ermöglichen, ihr Aussehen zur Verfügung. Sobald das Widget erstellt worden ist, können seine Eigenschaften durch den Aufruf eines ihrer Member-Funktionen verändert werden. Diese Funktionen nehmen die des Widgets als ihre erste Bestellung argument.In Griff, um den Fortschrittsbalken zeigen 45% und die Farben von ihren Standardeinstellungen ändern zu grün / rot für die Bar machen, kann der folgende Code-Abschnitt verwendet werden:
PROGBAR_SetBarColor (hProgBar, 0, GUI_GREEN);
PROGBAR_SetBarColor (hProgBar, 1, GUI_RED);
PROGBAR_SetValue (hProgBar, 45);

Dynamische Speichernutzung für Widgets

In Embedded-Anwendungen ist es meist nicht sehr wünschenswert, dynamischen Speicher auf allen wegen der Fragmentierung Effekte nutzen. Es gibt eine Reihe von unterschiedlichen Strategien, die verwendet werden, um dies zu vermeiden kann, aber sie arbeiten alle in einer begrenzten Weise, wenn Speicherbereiche durch einen Zeiger in der Anwendung Programm referenziert werden. Aus diesem Grund ? C / GUI nutzt einen anderen Ansatz: alle Objekte (und alle gespeicherten Daten zur Laufzeit) in Speicherbereichen abgelegt werden referenziert durch einen Griff. Dies macht es möglich, den zugewiesenen Speicherbereichen zur Laufzeit zu verlagern, wodurch die langfristige Probleme, die Zuteilung bei der Verwendung von Zeigern auftreten. Alle Widgets werden somit durch Griffe verwiesen.

3D-Unterstützung

Viele Widgets können mit oder ohne 3D-Effekte dargestellt werden. 3D-Unterstützung ist standardmäßig aktiviert, kann aber durch die Festlegung der Konfiguration Makro (Widget) _USE_3D auf 0 deaktiviert werden. Ein Widget-Funktion wird genau die gleiche Weise, ob es dreidimensionale Effekte verwendet oder nicht, der einzige Unterschied wird in seiner Erscheinung sein. Dies ist unten mit einem Schieberegler Widget zeigt:
3D-Effekte aktiviert (Standard) 3D-Effekte deaktiviert

API-Referenz: Widgets (allgemein)

Da Widgets Wesentlichen sind die Fenster, sie sind kompatibel mit jedem der Fenster-Manager-API-Funktionen. Der Griff des Widgets ist als hwin verwendeten Parameter und das Widget ist wie jedes andere Fenster behandelt. Die WM-Funktionen am häufigsten mit Widgets sind aufgeführt folgt verwendet:
Funktionsbeschreibung
WM_DeleteWindow Löschen eines Fensters.
WM_DisableMemdev Disable Nutzung von Speichergeräten für Neuzeichnen. WM_EnableMemdev Enable Nutzung von Speichergeräten für Neuzeichnen.
WM_InvalidateWindow Invalidate ein Fenster.
WM_PAINT Draw oder ein Fenster neu zu zeichnen sofort.

API-Referenz: Funktionen, die für alle Widgets

Die nachstehende Tabelle listet die verfügbaren Widget-Funktionen in alphabetischer Reihenfolge. Diese Funktionen sind für alle Widgets, und sind hier, um Wiederholungen zu vermeiden, aufgeführt. Beschreibungen der Funktionen folgen. Die zusätzlichen Funktionen zur Verfügung Mitglied für jedes Widget kann in späteren Abschnitten zu finden.
Funktionsbeschreibung
Gebraucht _CreateIndirect für die automatische Erstellung in Dialogboxen.
WM_EnableWindow Set das Widget Staat zu aktivieren (Standard).
WM_DisableWindow Set das Widget Staat deaktiviert.

BUTTON: Button-Widget

Button-Widgets sind allgemein als das primäre Element der Benutzeroberfläche für Touch-Screens eingesetzt. Buttons können mit Text angezeigt werden, wie unten gezeigt, oder mit einem Bitmap.

Schaltfläche Alle Funktionen werden in die Datei (en)-Taste *. c, BUTTON.h gelegen. Alle Bezeichner sind BUTTON vorangestellt.

Konfigurationsoptionen
Typ Macro Standard Beschreibung
N BUTTON_3D_MOVE_X ein
Anzahl der Pixel, text / Bitmap bewegt sich in horizontaler Richtung in gedrückten Zustand.
N BUTTON_3D_MOVE_Y ein
Anzahl der Pixel, text / Bitmap bewegt sich in vertikaler Richtung im gedrückten Zustand.
N BUTTON_BKCOLOR0_DEFAULT 0xAAAAAA
Hintergrundfarbe, unpressed Staat.
N BUTTON_BKCOLOR1_DEFAULT
GUI_WHITE
Hintergrundfarbe, gedrückten Zustand.
S BUTTON_FONT_DEFAULT
& GUI_Font13_1
Schriftart für Text-Taste.
N BUTTON_TEXTCOLOR0_DEFAULT
GUI_BLACK
Textfarbe, unpressed Staat.
N BUTTON_TEXTCOLOR1_DEFAULT
GUI_BLACK
Textfarbe, gedrückten Zustand.
B 1 BUTTON_USE_3D
Aktivieren der Unterstützung für 3D-Effekte.

Die Standardeinstellung für die Taste, um einen weißen Hintergrund im gedrückten Zustand zu verwenden. Dies wurde absichtlich, weil sie es sehr offensichtlich, dass die Taste gedrückt wird, auf jede Art von Display macht getan. Wenn Sie wollen, dass die Hintergrundfarbe der Schaltfläche, um die gleichen in ihren beiden gedrückt und unpressed Staaten, ändern BUTTON_BKCOLOR1_DEFAULT BUTTON_BKCOLOR0_DEFAULT zu werden.
API-Referenz

Die nachstehende Tabelle listet die verfügbaren ? C / GUI Knopf-Funktionen in alphabetischer Reihenfolge. Beschreibungen der Funktionen folgen.
Funktionsbeschreibung

BUTTON_Create Erstellen Sie die Taste.
BUTTON_CreateAsChild Erstellen Sie die Taste wie ein Kind Fenster.
BUTTON_CreateIndirect Erstellen Sie die Taste aus Ressource Tabelleneintrag.
BUTTON_SetBitmap Set das Bitmap verwendet werden, wenn die Anzeige der Taste.
BUTTON_SetBitmapEx Set das Bitmap verwendet werden, wenn die Anzeige der Taste.
BUTTON_SetBkColor Stellen Sie die Hintergrundfarbe der Schaltfläche.
BUTTON_SetFont Wählen Sie die Schriftart für den Text.
BUTTON_SetState Stellen Sie den Status der Schaltfläche (automatisch von Touch-Modul verarbeitet).
BUTTON_SetStreamedBitmap Set das Bitmap verwendet werden, wenn die Anzeige der Taste.
BUTTON_SetText Set den Text.
BUTTON_SetTextColor Legen Sie die Farbe (n) für den Text.

CheckBox: Check-Box Widget

Eines der bekanntesten Widgets für die Auswahl der verschiedenen Möglichkeiten ist das Kontrollkästchen. Ein Kontrollkästchen kann überprüft werden oder deaktiviert werden, indem der Benutzer und eine beliebige Anzahl von Boxen können auf einmal überprüft werden. Es erscheint eine Box grau, wenn es deaktiviert ist, wie in der nachstehenden Tabelle, wo jede der vier möglichen Kontrollkästchen Schein abgebildet gesehen:
Checked Unchecked
Enabled
Deaktiviert

Alle CHECKBOX-bezogene Funktionen sind in der Datei (en) CHECKBOX *. c, CHECKBOX.h gelegen. Alle Bezeichner sind CHECKBOX vorangestellt.

Konfigurationsoptionen
Typ Macro Standard Beschreibung
N CHECKBOX_BKCOLOR0_DEFAULT
0x808080
Hintergrundfarbe, deaktivierten Zustand.
N CHECKBOX_BKCOLOR1_DEFAULT
GUI_WHITE
Hintergrundfarbe, aktivierten Status.
N CHECKBOX_FGCOLOR0_DEFAULT
0x101010
Vordergrundfarbe, deaktivierten Zustand.
N CHECKBOX_FGCOLOR1_DEFAULT
GUI_BLACK
Vordergrundfarbe, aktivierten Status.
S CHECKBOX_FONT_DEFAULT
& GUI_Font13_1
Schriftart für Häkchen.
B CHECKBOX_USE_3D
1
Aktivieren der Unterstützung für 3D-Effekte.

CHECKBOX API-Referenz

Die nachstehende Tabelle listet die verfügbaren ? C / GUI CHECKBOX-verwandte Funktionen in alphabetischer Reihenfolge. Beschreibungen der Funktionen folgen.
Funktionsbeschreibung
CHECKBOX_Check Legen Sie die Kontrollkästchen Zustand zu überprüfen.
CHECKBOX_Create Erstellen Sie das Kontrollkästchen.
CHECKBOX_CreateIndirect Erstellen Sie das Kontrollkästchen aus Ressource Tabelleneintrag.
CHECKBOX_IsChecked Return den aktuellen Status (aktiviert oder nicht aktiviert) des Kontrollkästchen.
CHECKBOX_Uncheck Set das Kontrollkästchen deaktiviert Staat (Standardeinstellung).
DropDown: Dropdown-Widget

DropDown Widgets werden verwendet, um ein Element aus einer Liste mit mehreren Spalten auszuwählen. Es zeigt das aktuell ausgewählte Element in nicht geöffneten Zustand. Wenn der Benutzer öffnet sich ein DropDown-Widget ein ListBox erscheint ein neuer Menüpunkt auszuwählen.
Dropdown Dropdown geöffnet geschlossen
Konfigurationsoptionen
Typ Macro Standard Beschreibung
N DROPDOWN_ALIGN_DEFAULT GUI_TA_LEFT Textausrichtung verwendet, um Text in Dropdown geschlossenen Zustand anzuzeigen.
S & DROPDOWN_FONT_DEFAULT GUI_Font13_1 Default font
N DROPDOWN_BKCOLOR0_DEFAULT GUI_WHITE Hintergrundfarbe, unselektierten Zustand.
N DROPDOWN_BKCOLOR1_DEFAULT GUI_GRAY Hintergrundfarbe ausgewählt Staat ohne zu konzentrieren.
N DROPDOWN_BKCOLOR2_DEFAULT GUI_BLUE Hintergrundfarbe ausgewählt Staat konzentrieren.
N DROPDOWN_KEY_EXPAND GUI_KEY_SPACE Key, mit dem die Dropdown-Liste erweitern können.
N DROPDOWN_KEY_SELECT GUI_KEY_ENTER Key, mit dem ein Element aus der Dropdown-Liste wählen Sie geöffnet werden kann.
N DROPDOWN_TEXTCOLOR0_DEFAULT GUI_BLACK Textfarbe, unselektierten Zustand.
N DROPDOWN_TEXTCOLOR1_DEFAULT GUI_BLACK Textfarbe ausgewählt Staat ohne zu konzentrieren.
N DROPDOWN_TEXTCOLOR2_DEFAULT GUI_WHITE Enable 3D-Unterstützung.

Members Login
username
password
New MemberRegister Here
Newsletter Signup