Es gibt eine neu Version der nonVCL Tutorials.
Inhalt:
1 Fenster und Controls
1.1 Fenster
1.2 Textausgabe in Labels
1.3 Schaltflächen
1.4 Checkboxen und Radiobuttons
1.5 Arbeiten mit Eingabefeldern
1.6 Arbeiten mit Listboxen
1.7 Arbeiten mit der Combobox
1.8 Ein Menü hinzufügen
1.9 Dialoge aus Ressourcen aufrufen
1.10 Problem mit TAB und Alt+<Shortcut>
2 Standarddialoge
2.1 Vorwort
2.2 Dateien öffnen und speichern
2.3 Die Schriftart ändern
2.4 Suchen- / Ersetzendialog
3 CommonControls
3.1 Vorwort
3.2 Fortschrittsanzeige
3.3 Die Statuszeile
3.4 Tooltips / Hints
3.5 Die Toolbar
3.6 Das IP-Adress-Eingabefeld
3.7 Die Trackbar
3.8 Das Listview-Control
3.9 Der Treeview
3.10 Die Rebar
3.11 Das SysLink-Control
4 Systemfunktionen 132
4.1 Der Timer ohne die VCL
4.2 Verbindung zur Taskbar Notification Area
4.3 Hotkeys und Shortcuts
4.4 Datum und Uhrzeit
4.5 Die Verwendung von INI-Dateien
4.6 Die Registry
5 GDI
5.1 Grundlagen der GDI
6 Sonstige Themen
6.1 Subclassing
6.2 Ressourcenskripte erstellen
7 Hilfedateien erstellen und nutzen
7.1 HLP-Hilfedateien
7.2 CHM-Hilfedateien
Verfügbare Formate:
- CHM-Hilfe Format mit Setup
- PDF Format
- Die Sourcen der Demos mit und ohne Setup
Um was geht es?
Unter der nonVCL-Programmierung versteht man die Programmierung ohne die Verwendung der VCL. Es gibt keine Komponenten, keine Formulare in dem Sinne ... usw. Stattdessen greift man direkt auf das API (Application Programmers Interface) zurück. Wenn Sie bereits Erfahrung mit der VCL-Programmierung haben, dann wird Ihnen zuerst klar werden (müssen), dass Sie sich bei reinen API-Programmen um viele Dinge selbst kümmern müssen. Der Nachteil dabei ist, dass die Quelltexte solcher Projekte u.U. etwas umfangreicher und mitunter auch unübersichtlicher werden. Andererseits haben die kompilierten Exe-Dateien nur einen Bruchteil der Größe der VCL-Versionen. Und das ist für viele Programmierer Grund genug, kleinere Tools komplett ohne VCL zu entwickeln.
Allerdings dürfen Sie die Vorteile der VCL nicht vergessen. Unserer Meinung nach ist es nicht vertretbar, ein umfangreiches Projekt mit vier, fünf oder mehr Formularen ausschließlich auf API-Basis zu entwickeln. Sicher wird sich das realisieren lassen, aber hier sind Sie mit der VCL eindeutig schneller, und Sie können bequemer arbeiten.
Ideal ist die API-Programmierung bei der Entwicklung von kleineren Projekten und Tools, die vielleicht nur ein oder zwei Fenster oder Dialoge haben und bei denen der Funktionsumfang nicht so gewaltig ist.
Im Gegensatz zum herkömmlichen Weg müssen Sie bei nonVCL-Programmen generell für eins sorgen: Ihr Programm muss aktiv bleiben. Deshalb besteht ein typisches nonVCL-Grundgerüst aus drei Teilen -
der Hauptfunktion (in PASCAL durch begin und end. gekennzeichnet)
der Nachrichtenschleife
der Nachrichtenfunktion
Beispiel:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30:
| function WndProc(wnd: HWND; uMsg: UINT; wp: WPARAM; lp: LPARAM): LRESULT; stdcall; begin Result := 0;
case uMsg of WM_CREATE: WM_DESTROY: PostQuitMessage(0); else Result := DefWindowProc(wnd,uMsg,wp,lp); end; end;
var msg : TMsg; begin
while(GetMessage(msg,0,0,0)) do begin TranslateMessage(msg); DispatchMessage(msg); end; end. |
Bevor Sie jedoch beginnen nonVCL-Programme zu schreiben, sollten Sie sich mit den Grundlagen der Programmierung in PASCAL respektive ObjectPascal (Delphi) auskennen. Es macht nicht viel Sinn, völlig ohne Vorkenntnisse in diese Materie einsteigen zu wollen. Frust dürfte wohl die Folge sein.
Außerdem sind weitergehende API-Dokumentationen unbedingt empfehlenswert. Als erstes wären da die Win32-API-Hilfedateien von Borland zu nennen. Diese liegen Delphi bei, sind allerdings auch veraltet und (in Bezug auf neue Controls) unvollständig. Sofern möglich nutzen Sie also gleich die Quellen von Microsoft, als da wären:
das Microsoft Developers Network (MSDN) (
www.msdn.microsoft.com)
das Platform SDK (PSDK) (
www.microsoft.com/ms...atformsdk/sdkupdate)
Die Tutorials bauen weitgehend aufeinander auf. Wenn Sie also nicht gezielt ein bestimmtes Thema suchen, dann ist es ganz sinnvoll, sie der Reihe nach durchzuarbeiten.
Download:
www.luckie-online.de/Tutorials