Tutorial
Lutz Ifers WinAPI Tutorial
von MOD | Seite 2 von 16 |
Kapitel 1.1: Was ist die WinApi?
Jeder, der schon etwas länger programmiert, hat schon einmal Sourcecode wiederverwendet und gemerkt, dass es eigentlich nicht dumm ist, oft benutzte Teile in eine sub() oder function() zu packen, und bei Bedarf einfach "zusammenzustecken".
Dies ist auch die Idee hinter der WinAPI. API steht für "Application Programming Interface" und stellt als Schnittstelle zwischen Programm und Betriebssystem eine Reihe von oft genutzten Funktionen zur Verfügung.
Ein Beispiel: Ein Programm soll eine vom Benutzer auswählbare Datei in irgendeiner Art verarbeiten. Wie wählt der Benutzer die Datei aus? Mit dem in Windows allgegenwärtigen "Datei-Öffnen"-Dialog. Dieser Dialog ist eine function() in der WinApi, die wie eine ganz normale function() aufgerufen werden kann. Gäbe es sie nicht, müsste jeder Programmierer für jedes Programm einen eigenen "Datei-Öffnen"-Dialog programmieren.
Weitere Dinge, die man mit der WinAPI machen kann, sind unter Anderem Abfragen über die Mausposition, Tastatureingaben, Fensterverwaltung (und darum wird es hauptsächlich in diesem Tutorial gehen), Netzwerkunterstützung, oder einfache Dialogboxen, wie folgendes Beispiel demonstriert:
''' Lutz Ifers WinAPI-Tutorial
''' Lizenz: WTFPL
'''
''' Kapitel 1.1 - "Was ist die WinAPI?"
#include "windows.bi"
if MessageBox(0, "Kann man sich eigentlich mehr" + chr(13, 10) + "als zweimal"+_
" halb totlachen?", "Ich hätt' da mal ne Frage...", MB_ICONQUESTION or _
MB_YESNO) = IDYES then
MessageBox(0, "Natürlich kann man." + chr(13, 10) + "Sofern man sich zwis"+_
"chendrin erholt", "Ja", MB_ICONINFORMATION or MB_OK)
else
MessageBox(0, "Nicht? Finde ich aber schon.", "Nein", MB_ICONEXCLAMATION _
OR MB_OK)
end if
Die komplette Deklaration der Messagebox-Funktion lautet:
int MessageBox(hWnd as HWND, Text as STRING, Caption as STRING, uType as UINTEGER)
"hWnd" ist ein sogenanntes Handle zu einem Fenster, und gibt an, wem die Messagebox gehört. Was Handles genau sind, besprechen wir im zweiten Kapitel. Der Text der Messagebox darf auch Zeilenumbrüche (chr(13,10) bzw. \n) oder Tabstops (chr(7) bzw. \t) enthalten. Im uType können die Eigenschaften der Messagebox durch vordefinierte, kombinierbare Flags angegeben werden. Diese Flags beinhalten das Präfix "MB_" für "MessageBox". Mit ihnen lässt sich das angezeigte Symbol (Keins, Ausrufezeichen, Fragezeichen, Stop-Zeichen, Informations-Zeichen), die Buttons (Ja, Nein, OK, Abbrechen, Wiederholen, Ignorieren), den vorausgewählten Button, und den Einfluss des Buttons auf den Programmablauf (Unterbrechen des Programms, Unterbrechen aller Programme, usw.) auswählen.
Links:
MessageBox() in der MSDN
Zusätzliche Informationen und Funktionen | |||||||
---|---|---|---|---|---|---|---|
|