Wie lassen sich Controls disablen bzw. enablen? Ganz klar - mit der Enabled-Eigenschaft. Wie lassen sich alle Controls innerhalb eines Frame-Controls disablen bzw. enablen? Auch klar - man setzt einfach die Enabled-Eigenschaft des Frame-Controls auf True oder False. Ist das Frame deaktiviert, so sind bekanntlich gleichzeitig auch alle Controls innerhalb des Frame deaktiviert - nur, dass es dem Anwender vielleicht nicht sofort auffällt, da die Controls weiterhin "normal" und nicht grau angezeigt werden. Um alle Controls eines Frame (oder sonstigen Container-Steuerelements) zu (de-)aktivieren, können Sie auch nachfolgenden Prozedur einsetzen. Per For..Each Schleife werden alle Controls einer Form durchlaufen. Über die GetParent-API Funktion wird das Handle des Eltern-Controls ermittelt. Entspricht das Handle dem Handle des Conatiners, so handelt es sich um ein Control innerhalb des angegebenen Containers. ' zunächst die benötigte API-Deklaration Private Declare Function GetParent Lib "user32" ( _ ByVal hwnd As Long) As Long Public Sub EnableContainer(F As Form, _ Container As Control, ByVal Enabled As Boolean) Dim C As Control Dim phWnd As Long phWnd = Container.hwnd ' Fehlerbehandlung einschalten, falls ein Control ' keine hWnd-Eigenschaft besitzt On Local Error Resume Next For Each C In F Err = 0 If GetParent(C.hwnd) = phWnd Then If Err = 0 Then C.Enabled = Enabled End If End If Next On Local Error GoTo 0 End Sub Anmerkung Beispiel EnableContainer Me, Frame1, False Alle Controls in Frame1 wieder aktivieren: EnableContainer Me, Frame1, True Dieser Tipp wurde bereits 29.376 mal aufgerufen.
Anzeige
![]() ![]() ![]() (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
sevISDN 1.0 ![]() Überwachung aller eingehender Anrufe! Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Tipp des Monats ![]() Manfred Bohn IndexOf für mehrdimensionale Arrays Die generische Funktion "IndexOf" ermittelt das erste Auftreten eines bestimmten Wertes in einem n-dimensionalen Array sevZIP40 Pro DLL ![]() Zippen und Unzippen wie die Profis! Mit nur wenigen Zeilen Code statten Sie Ihre Anwendungen ab sofort mit schnellen Zip- und Unzip-Funktionen aus. Hierbei lassen sich entweder einzelnen Dateien oder auch gesamte Ordner zippen bzw. entpacken. |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |