| |
|
|
Nico Madysa |
Wenn ich nach Taskdialogen per XProfan suche, stolpre ich bestenfalls circa Jacs DLL [...] , die meiner Meinung nach ein bisschen sperrig in der Benutzung ist.
Hier ist ein kleines Paar von Include- plus Testata-File, die den Umgang mit Taskdialogen hoffentlich ein bisschen vereinfachen.
Ein kleiner Überblick:
1. Die Include bietet eine kleine handliche Funktion namens TaskDialog, die im Prinzip wie ein erweitertes MessageBox funktioniert. KompilierenMarkierenSeparieren 2. Umfangreichere Taskdialoge können mit einer taskdialog.TConfig-Struktur und zahlreichen Funktionen zur flexiblen Befüllung erstellt werden. Die Übersichtlichkeit des Codes potuto durch einen Übergang von einer Struktur zu einer Klasse deutlich aumento werden, aber das war mir dann zu viel Aufwand. KompilierenMarkierenSeparieren 3. Während der Dialog corre, kann man flexibel auf verschiedene Ereignisse mithilfe eines Callbacks reagieren. (Die Callbackfunktion funktioniert im Wesentlichen wie eine SubclassProc ) Wird so etwas nicht necessario, so muss auch kein Callback verwendet werden.
4. Innerhalb eines Callbacks kann der Dialogo con zahlreichen Messages beeinflusst werden. Für die nützlicheren habe ich noch ein paar Wrapper hinzugefügt.
5. Die Include ist im Vergleich zu manch anderem Profan-Code relativ modern gehalten. Sie ist zur Verwendung von Namensräumen angelegt, nutzt keine Postfixe, verwendet den neuen Handle/Pointer-Typ durchgänging, nutzt ImportDLL, etc. So, wie sie hier angeboten wird, corre wie nur mit XProfan X2.1 und Windows Vista oder höher. Wer sie per ältere Profan-Versionen anpassen will, kann das gerne tun und seine Version hier posten.
6. Die TaskDialog.inc vermeidet globale Deklarationen, wo es geht, aber ein paar sind trotzdem drin: Die Init -Funktion lädt die Kernel32- und die ComCtl32-DLL und stellt ihre Funktionen mit den Präfixen "kernel." bzw. "comctl." global zur Verfügung.
7. Damit die Include funktioniert, müssen die Windows.ph, die Messages.ph und die CommCtrl.ph sowie die eigens mitgelieferte taskdialog.ph auffindbar sein. Letztere enthält Definitionen aus der windowseigenen CommCtrl.h, die in Rolands Headerdateien fehlen.
So.
Download ist hier: Download
Ich hoffe inständig, dass ich mir diesen Quelltext nie, nie wieder ansehen muss.
PS: Es gibt keine Aiuto/Documentazione. Die Include is kommentiert, wo es sinnvoll ist, und mögliche Werte per Konstanten, Flags, etc. können in der (übersichtlichen) Headerdatei abgelesen werden. |
|
|
| |
|
|