Aktualisiert: 18.05.2007
Newest
  Tipps & Tricks
1.) Anpassung Controls an ein Formular (VB6)
2.) Kopier-Wiederaufnahme (VB6)
3.) Uhrzeit - alle Kürzel (VB6)
4.) Eigene IP-Addresse auslesen (VB6)
5.) Felder - Arrays (allgemeines, deklarieren) (VB.NET)
  Tutorials
1.) Prüfziffernverfahren österreichischer Sozialversic (VB6)
2.) Kommunikation zwischen Formularen bzw. Modulen (VB.NET)
3.) Musikdatein mittels API abspielen (VB6)
4.) Inputbox mit zusätzlichem Button (VB6)
5.) Access & MySQL | Teil 2/2 (VB6)
  Neueste Kommentare
  (letzten 50)
Thomas(21.02.2007 - 14:03)
Dag Johans..(16.11.2006 - 03:44)
Sebi2020(20.10.2006 - 21:43)
Suchen


 Sonstiges > Inputbox mit zusätzlichem Button     von VFensterB 
Seite: 2 von 4
zurück  |  vor
Wir haben hier drei Subs bzw. Funktionen und ein zwei APIs:

APIs:
-SetWindowLong
-CallWindowProc

Subs und Funktionen:
- InitSC
- SubclassWndProc
- TerminateSC

(SC steht für Subclassing)

Mit InitSC weisen wir Windows durch SetWindowLong an, die Nachrichten für ein bestimmtes Objekt nicht an die dazugehörige Funktion des Objekts, sondern an unsere Funktion, SubclassWndProc, zu schicken.
Der erste Parameter gibt die hWnd des zu subclassenden Objektes an, der zweite Parameter GWL_WNDPROC gibt an, dass wir subclassen wollen, der dritte die Adresse der Umleitung.

Wenn wir das rückgängig machen wollen, rufen wir TerminateSC mit hWnd des Objekts auf. Dies funktioniert ebenfalls mit SetWindowLong, nur dass wir die Adresse der Funktion angeben, an die die Nachrichten vor dem Subclassen verschickt wurden und die uns von SetWindowLong zurückgegeben wurde.

Was macht aber nun SubclassWndProc mit der Nachricht? Noch nicht viel, sie leitet es mit CallWindowProc weiter an die Adresse, an die die Nachricht geleitet wurde, bevor wir sie umgeleitet haben. Die Paramter dafür - hWnd, Msg, wParam und lParam - wurden an die Funktion SubclassWndProc übergeben.

Um das zu erreichen, hätten wir alles so lassen können wie es war. Damit das nicht so bleibt, brauchen wir jetzt noch einen Button und natürlich eine Inputbox. Gehen wir noch mal - nur zur Vorsicht - den Aufruf einer Inputbox durch:
1. Wir rufen die Inputbox auf
2. Unser Programm pausiert bis zum Schließen der Inputbox
3. Wir werten das Ergebnis aus.

Alles ganz normal. Wir rufen die Inputbox auf und fügen unseren Button hinzu.
Ganz so leicht ist es nun doch nicht, beachten Sie Punkt 2: Unser Programm pausiert nach Aufruf der Inputbox. Alle Befehle, die nach dem Aufruf der Inputbox stehen, werden auch erst nach ihrer Schließung durchgeführt. Vorher können wir den Button auch nicht hinzufügen, da die Inputbox, auf die der Button platziert werden soll, noch nicht vorhanden ist.
Seite: 2 von 4   zurück  |  vor   dazugefügt am:28.02.2004 | bereits betrachtet:6727 mal
Empfehlen Sie diese Seite | zu Favoriten hinzufügen  Copyright 2004 by visualbasic.at