| Vorheriges Kapitel (Vorwort) |
In dieser Referenz werden in alphabetischer Reihenfolge die in diesem Tutorial verwendeten Funktionen beschrieben. Die Beschreibung umfasst den Zweck der Funktion, die Parameter und den Rüchgabewert sowie Angaben, ab welcher Windows-Version die Funktion verfügbar ist und in welcher Bibliothek sie enthalten ist. Aus dem Namen der Bibliothek ergibt sich der Name des Includes, in dem der Prototyp der Funktion enthalten ist.
Die Datentypen der einzelnen Parameter entsprechen den Originaldefinitionen, die sich an der Sprache C orientieren. Hinter den meisten Datentypen, egal ob Zeiger oder Zahlenwert, verbirgt sich ein einfaches Assembler-DWord. Die entsprechenden Definitionen sind i. d. R. in der Datei windows.inc enthalten, wodurch die gleichen Datentypen auch in den Assemblerquelltexten verwendet werden können.
Diese Funktionen erzeugen ein normales, ein Pop-Up- oder ein Kindfenster.
Die Funktion übergibt die Fensterklasse, den Fenstertitel, den Fensterstil,
Angaben zu Position und Größe des Fensters sowie zum Eigentümer
des Fensters und zum Menü.
Die beiden Funktionen unterscheiden sich lediglich dadurch, dass
CreateWindowEx() einen weiteren Parameter hat (an der ersten Stelle), über
den ein erweiterter Stil an das zu erzeugende Fenster übergeben wird.
Beide Funktionen gibt es intern als ANSI- (CreateWindowExA()) und Unicode-Version (CreateWindowExW()).
| Parameter | Bedeutung | |
|---|---|---|
| DWORD dwExStyle | Extra Stil. Der normale Fensterstil wird über dwStyle festgelegt. Der
Parameter dwStyle stammt noch aus den 16-Bit-Windows-Zeiten; dwExStyle kam
erst bei den 32-Bit-Versionen hinzu. Entsprechend werden mit dwExStyle
Stile angegeben, die erst mit Windows 95 bzw. NT erschienen. Wenn Sie keine Extrastile haben möchten dann muss NULL übergeben werden.
| |
| LPCTSTR lpClassName | Adresse des ASCIIZ-Strings mit dem Namen der Fensterklasse, die für dieses Fenster verwendet werden soll. Diese Fensterklasse kann entweder eine selbst registrierte Fensterklasse oder eine von Windows vordefinierte Fensterklasse sein. Im ersten Fall muss die Fensterklasse vorher mit RegisterClassEx() registriert worden sein. | |
| LPCTSTR lpWindowName | Zeiger auf den ASCIIZ-Namen des Fensters, der auch in der Titelleiste angezeigt wird. Wird NULL angegeben, dann ist die Titelleiste leer | |
| DWORD dwStyle | Fensterstil. Hier wird für Fenster sehr oft WS_OVERLAPPEDWINDOW verwendet. Es handelt sich um eine Bitmaske. Verschiedene Stile können durch OR kombiniert werden. Die gültigen Stile richten sich nach der Fensterklasse. | |
| int X | Koordinate der linken oberen Ecke in der Horizontalen. Sollte dieser Parameter auf CW_USEDEFAULT gesetzt werden, so ermittelt Windows die Standard-X-Position und ignoriert den Parameter Y. Wird CW_USEDEFAULT für Pop-Up- oder Kindfenster verwendet, werden X und Y auf Null gesetzt. | |
| int Y | Koordinate der linken oberen Ecke in der Vertikalen. Koordinatenursprung ist die linke obere Bildschirmecke. | |
| int nWidth | Breite des Fensters. Bei CW_USEDEFAULT wird die Standardbreite durch Windows ermittelt und nHeight ignoriert; bei Pop-Up- oder Kindfenster wird stattdessen Null für nWidth und nHeight eingesetzt. | |
| int nHeight | Höhe des Fensters | |
| HWND hWndParent | Gibt das Handle zum Elternobjekt des Fensters an. Wenn kein Elternobjekt vorhanden ist, dann wird NULL verwendet. Hintergrund: wird das Elterobjekt geschlossen, dann werden durch diese Beziehung auch die Kindobjekte geschlossen | |
| HMENU hMenu | Handle zum fenstereigenen Menü. Wenn NULL angegeben wird, dann wird das Menü verwendet, das in der Fensterklasse angegeben wurde | |
| HINSTANCE hInstance | Handle des Programms das das Fenster erzeugt | |
| LPVOID lpParam | Optionaler Zeiger auf Daten, die dem Fenster in der Nachricht WM_CREATE
bei dessen Erzeugung übergeben werden. Die Übergabe erfolgt dabei in
einer Struktur des Typs CREATESTRUCT im Member lpCreateParams. Die Adresse
einer solchen Struktur steht bei WM_CREATE in lpParam der Window-Prozedur. Wenn ein Fenster in einer MDI-Anwendung erzeugt wird, dann muss lpParam die Adresse einer Struktur CLIENTCREATESTRUCT enthalten. | |
| Returnwert | Im Fehlerfall NULL, ansonsten das Handle auf das neu erzeugte Fenster. Erweiterte Fehlerinformationen liefert GetLastError() |
|
| Zusatzinformationen | ||
| vorhanden seit | Windows 95 | |
| in Bibliothek | user32.lib | |
| Sonstiges | Diese Funktion kommt im Kapitel Fensterklassen zu intensiverer Anwendung. Dabei werden auch die durch Windows bereits definierten Fensterklasse beleuchtet. | |
| erste Anwendung in | Einführung: Ein Basisprogramm | |
Windows stellt eine Standard-Fensterprozedur (Window Procedure) bereit, um die
Bearbeitung aller Fensternachrichten zu gewährleisten. Diese Funktion
sollte i. d. R. immer am Ende der Ereignisbehandlung in ihrer Fensterprozedur
aufgerufen werden, um die nicht durch ihr Programm verarbeiteten Nachrichten
abzuarbeiten.
Die Parameter stimmen mit denen ihrer Fensterprozedur überein.
Die Funktion gibt es intern als ANSI- (DefWindowProcA()) und Unicode-Version (DefWindowProcW()).
| Parameter | Bedeutung |
|---|---|
| HWND hWnd | Handle zu dem Fenster, das die Nachricht empfangen hat |
| UINT Msg | Spezifiziert die Nachricht |
| WPARAM wParam | Zusätzliche Informationen zur Nachricht. Der Inhalt dieses Parameters hängt vom Wert von Msg ab. |
| LPARAM lParam | Zusätzliche Informationen zur Nachricht. Der Inhalt dieses Parameters hängt vom Wert von Msg ab. |
| Returnwert | Der Returnwert hängt von der Art der Nachricht ab. Es wird das Ergebnis der jeweiligen Nachrichtenverarbeitung geliefert. |
| Zusatzinformationen | |
| vorhanden seit | Windows 95 |
| in Bibliothek | user32.lib |
| Sonstiges | nichts |
| erste Anwendung in | Einführung: Ein Basisprogramm |
Diese Funktion zerstört ein anzugebendes Fenster. Dazu werden die Nachrichten WM_DESTROY und WM_NCDESTROY an das Fenster gesendet. Die Funktion zerstört ebenfalls das Menü des Fensters, leert die Nachrichtenwarteschlange, zerstört Timer und entfernt die Eigentümerschaft an der Zwischenablage.
| Parameter | Bedeutung |
|---|---|
| HWND hWnd | Handle des zu zerstörenden Fensters |
| Returnwert | Im Fehlerfall NULL (weitere Informationen mit GetLastError()), ansonsten das Handle zum geladenen Menuü. |
| Zusatzinformationen | |
| vorhanden seit | Windows 95, Windows NT 3.1 |
| in Bibliothek | user32.lib |
| Sonstiges | Es können keine Fenster zerstört werden, die nicht dem aufrufenden Thread gehören. |
| erste Anwendung in | Menüs |
Mit dieser Funktion werden Nachrichten, die mit GetMessage aus der Nachrichtenwarteschlange entnommen wurden, an die Fensterprozedur weitergeleitet.
Die Funktion gibt es intern als ANSI- (DispatchMessageA()) und Unicode-Version (DispatchMessageW()).
| Parameter | Bedeutung |
|---|---|
| MSG *lpmsg | Adresse einer Variablen des Typs MSG |
| Returnwert | Gibt den Wert an, der von der Fensterprozedur zurückgegeben wird. Dieser Wert wird normalerweise ignoriert. |
| Zusatzinformationen | |
| vorhanden seit | Windows 95 |
| in Bibliothek | user32.lib |
| Sonstiges | Ein Beispielaufruf: invoke DispatchMessage,ADDR msg |
| erste Anwendung in | Einführung: Ein Basisprogramm |
Diese Funktion beendet einen Prozess und all seine Threads
| Parameter | Bedeutung |
|---|---|
| UINT uExitcode | Der Returncode, der an den Prozess gemeldet wird, der den durch ExitProcess() zu beendenden Prozess gestartet hat. |
| Returnwert | keiner |
| Zusatzinformationen | |
| vorhanden seit | Windows 95 |
| in Bibliothek | kernel32.lib |
| Sonstiges | Beim Beenden eines Prozesses werden alle durch den Prozess geöffneten Handles geschlossen, alle Threads abgesehen vom aufrufenden Thread stellen ihre Arbeit ein, in allen verbundenen DLLs werden die Entry- Point-Funktionen mit DLL_PROCESS_DETACH aufgerufen, der Prozess und der aufrufende Thread werden beendet, das Prozessobjekt und alle Threads des Prozesses erhalten einen signalisierten Zustand und der Beendigungsstatus des Prozesses nimmt den Wert von uExitcode an. |
| erste Anwendung in | Einführung |
Die Funktion liefert die Kommandozeile zurück mit der der Prozess gestartet wurde.
Die Funktion wird ausführlich im Kapitel Kommandozeilenparameter beschrieben.
Fehlercodes werden je Thread verwaltet. Die Funktion liefert den letzten Fehlercode des aufrufenden Threads zurück.
| Parameter | Bedeutung |
|---|---|
| keine | keine |
| Returnwert | Der letzte Fehlercode des aufrufenden Threads. Einige Funktionen setzen diesen Wert, obwohl sie fehlerfrei gelaufen sind. Unter Windows 95/98/Me sollte man mit GetLastError() vorsichtig sein. 16-Bit-Funktionen setzen den Fehlercode nicht und Funktionen, die den Code setzen, tun dies u. U. mit anderen Werten als unter den anderen Windows-Versionen. |
| Zusatzinformationen | |
| vorhanden seit | Windows 95 |
| in Bibliothek | kernel32.lib |
| Sonstiges | GetLastError() sollte sofort aufgerufen werden, wenn eine Funktion
anzeigt, dass ein Fehler aufgetreten ist, da andere Funktionen den Wert
vielleicht überschreiben, auch wenn sie fehlerfrei liefen.
Wenn sie selbst Fehlercodes definieren möchten, dann mit Werten, bei denen Bit 29 gesetzt ist; in den Windows-Fehlercodes ist dieses Bit nicht gesetzt. |
Diese Funktion entnimmt der Nachrichtenwarteschlange des aufrufenden Threads Nachrichten. Dabei wird notfalls solange gewartet, bis eine neue Nachricht in der Warteschlange vorhanden ist.
Die Funktion gibt es intern als ANSI- (GetMessageA()) und Unicode-Version (GetMessageW()).
| Parameter | Bedeutung |
|---|---|
| LPMSG lpMsg | Adresse einer Variable des Typs MSG |
| HWND hWnd | Handle des Fensters, dessen Nachrichten abgeholt werden sollen. Das
Fenster muss dabei zum aufrufenden Thread gehören. Der Wert NULL hat eine Sonderbedeutung: GetMessage() holt Nachrichten für alle Fenster des aufrufenden Threads sowie alle Nachrichten, die mit PostThreadMessage() an den Thread gesendet wurden. |
| UINT wMsgFilterMin | Gibt den kleinsten Wert einer Nachricht an, ab der Nachrichten abgeholt
werden sollen, z. B. WM_KEYFIRST oder WM_MOUSEFIRST. Wenn wMsgFilterMin und wMsgFilterMax gleichzeitig den Wert 0 (Null) haben, dann erfolgt keine Filterung, es werden alle Nachrichten abeholt. |
| UINT wMsgFilterMax | Gibt den höchsten Wert einer Nachricht an, bis zu dem Nachrichten abgeholt werden sollen, z. B. WM_KEYLAST oder WM_MOUSELAST. Wenn wMsgFilterMin und wMsgFilterMax gleichzeitig den Wert 0 (Null) haben, dann erfolgt keine Filterung, es werden alle Nachrichten abeholt. |
| Returnwert | Im Fehlerfall (z. B. ungültiges Fensterhandle) -1. Im Normalfall ein Wert größer als 0 (Null) Wenn die Nachricht WM_QUIT abgeholt wird, dann genau 0 (Null) |
| Zusatzinformationen | |
| vorhanden seit | Windows 95 |
| in Bibliothek | user32.lib |
| Sonstiges | Der Returnwert der Funktion wird in der Nachrichtenschleife
typischerweise verwendet, um das Programmende festzustellen. Die Nachricht WM_QUIT wird immer empfangen, egal wie wMsgFilterMin und wMsgFilterMax eingestellt sind. |
| erste Anwendung in | Einführung: Ein Basisprogramm |
Diese Funktion liefert ein Modulhandle für ein anzugebendes Modul, wenn es in den Adressraum des aufrufenden Prozesses gemappt wurde.
| Parameter | Bedeutung |
|---|---|
| LPCTSTR lpModuleName | Adresse eines ASCIIZ-Strings mit dem Modulnamen (.exe oder .dll). Wird
keine Endung angegeben, dann wird .dll angenommen, endet der Name mit einem
Punkt, wird keine Endung verwendet. Wenn der String einen Pfad enhält,
dann ist er mit Backslashes anzugeben. Der Name wird nicht-case-sensitiv mit
den Modulen verglichen, die derzeit in den Adressraum des Prozesses gemappt
sind. Wird NULL übergeben, dann wird ein Handle zu der Datei geliefert, die zur Erzeugung des aufrufenden Prozesses genutzt wurde. |
| Returnwert | Im Fehlerfall wird Null geliefert (weitere Informationen mit GetLastError() ermitteln), ansonsten das Handle zum angegebenen Modul. |
| Zusatzinformationen | |
| vorhanden seit | Windows 95 |
| in Bibliothek | kernel32.lib |
| Sonstiges | Wenn sie mit einem anderen Parameter als NULL arbeiten möchten, wird die Verwendung der Funktion GetModuleHandleEx() empfohlen (siehe Platform SDK) |
| erste Anwendung in | Einführung |
Die Funktion liefert erweiterte Informationen zur Windows-Version, auf der das Programm gerade läuft.
Die Funktion wird ausführlich im Kapitel Ermittlung der Windows-Version beschrieben.
Die Funktion lädt einen Cursor aus der .exe-Datei, die mit einem Instanzhandle assoziiert ist.
LoadCursor() gibt es intern in den Varianten LoadCursorA() und LoadCursorW().
| Parameter | Bedeutung |
|---|---|
| HINSTANCE hInstance | Instanzhandle des Modules, dessen ausführbare Datei den zu ladenden Cursor enthält. |
| LPCTSTR lpCursorName | Adresse des ASCIIZ-Strings mit dem Namen der Ressource.
Um einen der von Windows vordefinierten Cursor zu verwenden, muss in
hInstance NULL übergeben werden und in lpCursorName einer der Werte |
| Returnwert | Im Fehlerfall NULL (weitere Informationen mit GetLastError()), ansonsten das Handle zum geladenen Cursor. |
| Zusatzinformationen | |
| vorhanden seit | Windows 95, Windows NT 3.1 |
| in Bibliothek | user32.lib |
| Sonstiges | Der Cursor wird nur geladen, wenn er nicht schon geladen wurde. Ansonsten wird das Handle der schon existierenden Ressource verwendet. |
| erste Anwendung in | Einführung |
Die Funktion lädt ein Icon aus der .exe-Datei, die mit einem Instanzhandle assoziiert ist.
LoadIcon() gibt es intern in den Varianten LoadIconA() und LoadIconW().
| Parameter | Bedeutung |
|---|---|
| HINSTANCE hInstance | Instanzhandle des Modules, dessen ausführbare Datei das zu ladende Icon enthält. |
| LPCTSTR lpIconName | Adresse des ASCIIZ-Strings mit dem Namen der Ressource.
Um eines der von Windows vordefinierten Icons zu verwenden, muss in
hInstance NULL übergeben werden und in lpIconName einer der Werte |
| Returnwert | Im Fehlerfall NULL (weitere Informationen mit GetLastError()), ansonsten das Handle zum geladenen Cursor. |
| Zusatzinformationen | |
| vorhanden seit | Windows 95, Windows NT 3.1 |
| in Bibliothek | user32.lib |
| Sonstiges | Das Icon wird nur geladen, wenn er nicht schon geladen wurde.
Ansonsten wird das Handle der schon existierenden Ressource verwendet.
LoadIcon() kann nur Icons laden, deren Größe mit den Systemwerten SM_CXICON und SM_CYICON übereinstimmt. Für andere Ausmaße muss die Funktion LoadImage() (siehe Platform SDK) verwendet werden. |
| erste Anwendung in | Einführung |
Diese Funktion lädt eine Menüressource aus der .exe-Datei, die mit einem Instanzhandle assoziiert ist.
LoadMenu() gibt es intern in den Varianten LoadIconA() und LoadIconW().
| Parameter | Bedeutung |
|---|---|
| HINSTANCE hInstance | Instanzhandle des Modules, dessen ausführbare Datei das zu ladende Icon enthält. |
| LPCTSTR lpMenuName | Adresse des ASCIIZ-Strings mit dem Namen der Ressource. |
| Returnwert | Im Fehlerfall NULL (weitere Informationen mit GetLastError()), ansonsten das Handle zum geladenen Menuü. |
| Zusatzinformationen | |
| vorhanden seit | Windows 95, Windows NT 3.1 |
| in Bibliothek | user32.lib |
| Sonstiges | Der durch die Ressource belegte Speicher wird bei Beendigung des
Programms automatisch freigegeben.
LoadIcon() kann nur Icons laden, deren Größe mit den Systemwerten SM_CXICON und SM_CYICON übereinstimmt. Für andere Ausmaße muss die Funktion LoadImage() (siehe Platform SDK) verwendet werden. |
| erste Anwendung in | Menüs |
Diese Funktion erzeugt und verwaltet ein Meldungsfenster. Die Applikation kann den Titel, den Text sowie die Kombination von Icons und Schaltflächen definieren, um die Formatierung zur Darstellung auf dem Bildschirm kümmert sich die Funktion selbst.
Intern gibt es nur die Funktionen MessageBoxA() (ANSI) und MessageBoxW()
(Unicode). Per EQU-Direktive in windows.inc wird MessageBox() auf
die entsprechende Funktion umgesetzt.
| Parameter | Bedeutung |
|---|---|
| HWND hWnd | Handle des Elternfensters. Wenn dieses nicht vorhanden ist, dann NULL |
| LPCTSTR lpText | Zeiger auf den eigentlichen Meldungstext als ASCIIZ-String. Es sind die aus C bekannten Formatierer erlaubt wie \n und \t. Der String muss passend zur Funktion ein ANSI- oder Unicodestring sein. |
| LPCTSTR lpCaption | Zeiger auf den ASCIIZ-String für den Meldungsfenstertitel. Wird statt einer Adresse NULL verwendet, dann wird automatisch "Fehler" als Titel angezeigt. Der String muss passend zur Funktion ein ANSI- oder Unicodestring sein. |
| UINT uType | Dieser Parameter definiert, welche Schaltflächen und welches Icon
in der Messagebox angezeigt werden. Beide Stilarten können miteinander
oder-verknüpft werden.
Mit folgenden Stilen wird ein Icon in der Messagebox angezeigt Um die Standard-Schaltfläche zu markieren, können sie einen der Stile MB_DEFBUTTON1, MB_DEFBUTTON2, MB_DEFBUTTON3, MB_DEFBUTTON4 verwenden, wobei MB_DEFBUTTON1 der Standard ist, wenn keiner der anderen drei Stile angegeben wurde. Das Modalitätsverhalten bestimmen sie mit MB_APPLMODAL (Standard; der Nutzer muss die Dialogbox beantworten, um in dem durch hWnd angegebenen Fenster weiterarbeiten zu können), MB_SYSTEMMODAL (wie MB_APPLMODAL, aber die Dialogbox hat den Stil WS_EX_TOPMOST; zu anderen Fenstern als hWnd kann gewechselt werden) und MB_TASKMODAL (wie MB_APPLMODAL, aber der Wechsel zu anderen Fenstern des gleichen Threads ist nicht möglich, wenn hWnd den Wert NULL hat). MB_RIGHT richtet den Meldungstext rechts aus, MB_RTLREADING stellt den Text von rechts nach links auf hebräischen oder arabischen Systemen dar. MB_SETFOREGROUND stellt die Nachricht in den Vordergrund, mit MB_TOPMOST wird die Dialogbox mit dem Stil WS_EX_TOPMOST erzeugt. Für MB_DEFAULT_DESKTOP_ONLY, MB_SERVICE_NOTIFICATION und MB_SERVICE_NOTIFICATION_NT3X verweise ich auf das Platform-SDK. |
| Returnwert | Im Fehlerfall liefert die Funktion Null zurück; für erweiterte
Fehlerinformationen rufen sie GetLastError() auf.
Anderenfalls zeigt der Returnwert den gedrückten Button an, wobei die Rückgabewerte von der Art der Messagebox abhängen. Die Beschreibung orientiert sich am Typ der Messagebox.
|
| Zusatzinformationen | |
| vorhanden seit | Windows 95, Windows NT 3.1 |
| in Bibliothek | user32.lib |
| Sonstiges | Wird innerhalb eines Dialoges eine Messagebox angezeigt, dann ist das Handle des Dialogs als Parameter hWnd zu übergeben |
| erste Anwendung in | Einführung |
Diese Funktion weist das System darauf hin, dass ein Thread den Przess terminieren möchte. Die Funktion wird normalerweise als Reaktion auf die Nachricht WM_DESTROY aufgerufen und stellt dann selbst die Nachricht WM_QUIT in die Nachrichtenwarteschlange, woraufhin dann die Nachrichtenschleife verlassen werden sollte.
| Parameter | Bedeutung |
|---|---|
| int nExitCode | Gibt den Exit-Code an, der an das aufrufende Programm geliefert wird. Dieser Exit-Code wird als Parameter wParam der Nachricht WM_QUIT übergeben. |
| Returnwert | keiner |
| Zusatzinformationen | |
| vorhanden seit | Windows 95 |
| in Bibliothek | user32.lib |
| Sonstiges | nichts |
| erste Anwendung in | Einführung: Ein Basisprogramm |
Diese Funktion registriert eine Fensterklasse für die spätere Verwendung in Aufrufen von CreateWindowEx()
Die Funktion gibt es intern als ANSI- (RegisterClassExA()) und Unicode-Version (RegisterClassExW()).
| Parameter | Bedeutung |
|---|---|
| WNDCLASSEX *lpwcx | Zeiger auf eine gefüllte Struktur des Typs WNDCLASSEX |
| Returnwert | Im Fehlerfall wird Null zurückgeliefert, weitere Informationen
liefert ein Aufruf von GetLastError() Ansonsten wird ein sogenanntes Atom, das praktische eine einmalige ID für die Fensterklasse darstellt und nur von wenigen Funktionen verwendet wird. Der Returnwert kann in vielen Fällen ignoriert werden. |
| Zusatzinformationen | |
| vorhanden seit | Windows 95 |
| in Bibliothek | user32.lib |
| Sonstiges | Diese Funktion ist der Nachfolger von RegisterClass(), die eine Struktur
des Typs WNDLCASS erwartet.
Abhängig davon ob diese Funktion in der ANSI- oder Unicode-Version aufgerufen wird, teilt die Anwendung dem System mit, ob Nachrichten mit Text- oder Zeichenparametern als ANSI oder Unicode erwartet werden. Vom Programm registrierte Fensterklassen werden bei Beendigung des Programms automtisch deregistriert. Unter Windows 95/98/Me gilt dies auch, wenn Fensterklassen durch eine DLL registriert wurden und diese DLL entladen wird; unter Windows NT/2000/XP muss eine solcherart registrierte Fensterklasse explizit deregistriert werden. |
| erste Anwendung in | Einführung: Ein Basisprogramm |
Hier die Beschreibung der Struktur WNDCLASSEX.
| Name | Bedeutung |
|---|---|
| cbSize | Die Größe der WNDCLASSEX-Struktur |
| style | Stil der Fenster; Stile können mit or kombiniert werden |
| lpfnWndProc | Adresse der Callback-Prozedur des Fensters |
| cbClsExtra | Gibt eine extra zu reservierende Menge Speicher an, die an die Struktur angehängt wird. Die Bytes werden mit Null initialisiert |
| cbWndExtra | Gibt eine extra zu reservierende Menge Speicher an, die an die Fensterinstanz angehängt wird. Initialisierung wieder mit Null |
| hInstance | Instanzhandle des Moduls mit der Callback-Prozedur |
| hIcon | Handle des Icons |
| hCursor | Handle des Cursors |
| hbrBackground | Farbe des Fensterhintergrundes |
| lpszMenuName | Adresse der Zeichenkette mit dem Menünamen; oder NULL |
| lpszClassName | Zeiger auf die Zeichenkette die den Namen der Fensterklasse beinhaltet |
| hIconSm | Handle auf ein Icon in kleiner Form. Wenn NULL, dann versucht Windows, für das in hIcon angegebene Icon die kleine Form zu finden |
Diese Funktion setzt den Anzeigestatus eines bestimmten Fensters.
| Parameter | Bedeutung |
|---|---|
| HWND hWnd | Handle des anzuzeigenden Fensters |
| int nCmdShow | Gibt den Anzeigestatus an
|
| Returnwert | Wenn das Fenster vor dem Funktionsaufruf sichtbar war, dann ein Wert verschieden von Null, ansonsten Null. |
| Zusatzinformationen | |
| vorhanden seit | Windows 95 |
| in Bibliothek | user32.lib |
| Sonstiges | Diese Funktion ist eine der wenigen, die unter Windows 95 als Unicode-Version implementiert wurde. |
| erste Anwendung in | Einführung: Ein Basisprogramm |
Diese Funktion übersetzt die Tastendrücke auf virtuelle Tasten in Zeichennachrichten und stellt diese in die Nachrichtenwarteschlange des Threads. Bei einem der nächsten Aufrufe von GetMessage() wird dann diese Zeichennachricht gelesen.
| Parameter | Bedeutung |
|---|---|
| MSG *lpMsg | Zeiger auf eine Variable des Typs MSG. |
| Returnwert | Wenn eine Nachricht übersetzt wurde, dann ein Wert verschieden von
Null. Ist eine der Nachrichten WM_KEYDOWN, WM_KEYUP, WM_SYSKEYDOWN, oder WM_SYSKEYUP, ist der Returnwert verschieden von Null, unabhängig von irgendwelchen Übersetzungen. Ist keine Übersetzung erfolgt, wird Null zurückgeliefert. |
| Zusatzinformationen | |
| vorhanden seit | Windows 95 |
| in Bibliothek | user32.lib |
| Sonstiges | TranslateMessage() verändert nicht die Nachricht, die lpMsg darstellt. |
| erste Anwendung in | Einführung: Ein Basisprogramm |
Diese Funktion aktualisiert den Clientbereich eines anzugebenden Fensters, indem eine WM_PAINT-Nachricht an das Fenster gesendet wird. Sollte der Clientbereich leer sein, wird keine Nachricht gesendet.
| Parameter | Bedeutung |
|---|---|
| HWND hWnd | Handle des Fensters, das geupdated werden soll. |
| Returnwert | Im Fehlerfall wird Null geliefert, weitere Informationen können in der Windows NT-Familie mit GetLastError() ermittelt werden. Ansonsten ein Wert ungleich Null. |
| Zusatzinformationen | |
| vorhanden seit | Windows 95 |
| in Bibliothek | user32.lib |
| Sonstiges | Die Nachricht WM_PAINT wird direkt an die Fensterprozedur gesendet, sie wird nicht in die Nachrichtenwarteschlange eingereiht. |
| erste Anwendung in | Einführung: Ein Basisprogramm |
| Vorheriges Kapitel (Vorwort) | Nach oben |
| Zum Inhaltsverzeichnis | |
| Zur Startseite |