ABOUT Visual Basic Programmieren Programmierung Download Downloads Tips & Tricks Tipps & Tricks Know-How Praxis VB VBA Visual Basic for Applications VBS VBScript Scripting Windows ActiveX COM OLE API ComputerPC Microsoft Office Microsoft Office 97 Office 2000 Access Word Winword Excel Outlook Addins ASP Active Server Pages COMAddIns ActiveX-Controls OCX UserControl UserDocument Komponenten DLL EXE
Diese Seite wurde zuletzt aktualisiert am 15.11.2000

Diese Seite wurde zuletzt aktualisiert am 15.11.2000
Aktuell im ABOUT Visual Basic-MagazinGrundlagenwissen und TechnologienKnow How, Tipps und Tricks rund um Visual BasicActiveX-Komponenten, Controls, Klassen und mehr...AddIns für die Visual Basic-IDE und die VBA-IDEVBA-Programmierung in MS-Office und anderen AnwendungenScripting-Praxis für den Windows Scripting Host und das Scripting-ControlTools, Komponenten und Dienstleistungen des MarktesRessourcen für Programmierer (Bücher, Job-Börse)Dies&Das...

Themen und Stichwörter im ABOUT Visual Basic-Magazin
Code, Beispiele, Komponenten, Tools im Überblick, Shareware, Freeware
Ihre Service-Seite, Termine, Job-Börse
Melden Sie sich an, um in den vollen Genuss des ABOUT Visual Basic-Magazins zu kommen!
Informationen zum ABOUT Visual Basic-Magazin, Kontakt und Impressum

Zurück...

Untergejubelt

Zurück...


Anzeige

(-hg) mailto:hg_addtousercontrol@aboutvb.de

Zur Laufzeit dynamisch über Controls.Add(...) hinzugefügte Steuerelemente (ab Visual Basic 6 möglich) können Sie auch wie jedes andere Steuerelement in einen Container verschieben, etwa in eine PictureBox oder in einen Frame:

Private WithEvents ExtraButton As CommandButton
' ...
Set ExtraButton = Controls.Add("VB.CommandButton", "Button")
With ExtraButton
  Set .Container = Frame1
  .Move ...
  .Caption = ...
  .Visible = True
End With
' ...
Private Sub ExtraButton_Click()
  MsgBox "ExtraButton"
End Sub

Auch in ein UserControl können Sie auf gleiche Weise ein nachgeladenes Steuerelement verschieben. Dazu muss lediglich bei dem betreffenden UserControl zur Entwicklungszeit die Eigenschaft ControlContainer auf True gesetzt worden sein.

In ein auf dem UserControl fest und bereits zur Entwicklungszeit platziertes Container-Steuerelement, etwa einen Frame, der nicht die ganze Fläche des UserControls bedecken soll, können Sie ein nachgeladenes Steuerelement allerdings nicht so einfach verschieben.

Auch in einen einem UserControl untergeordneten Container lässt sich ein Steuerelement dynamisch nachladen

Auch in einen einem UserControl untergeordneten Container lässt sich ein Steuerelement dynamisch nachladen

Versehen Sie dazu das UserControl mit einer von außen zugänglichen, öffentlichen Add-Methode mit den gleichen Parametern wie beim Visual-Basic-Original (ProgId und Name). Dann können Sie in dieser Add-Methode das gewünschte Steuerelement der Controls-Collection des UserControls hinzufügen und dort auf das Container-Control im UserControl verschieben:

Public Function Add(ProgId As String, Name As String) As Object
  Dim nNewControl As Control
  
  On Error GoTo Add_Error
  Set nNewControl = Controls.Add(ProgId, Name)
  Set nNewControl.Container = fra
  Set Add = nNewControl
  Exit Function
  
Add_Error:
  Err.Raise Err.Number, "ucTest.Add", Err.Description
End Function

Der Aufruf der Methode unterscheiden sich nur unwesentlich von dem gewohnten Aufruf. Auch die Ereignisse des so innerhalb des UserControls nachgeladenen Steuerelements können Sie außerhalb empfangen:

Private WithEvents ExtraButton2 As CommandButton
' ...
Set ExtraButton2 = ucTest.Add("VB.CommandButton", "Button2")
With ExtraButton2
  .Caption = .Name
  .Visible = True
End With
' ...
Private Sub ExtraButton2_Click()
  MsgBox "ExtraButton2"
End Sub

Beispiel-Projekt AddToUserControl (addtousercontrol.zip - ca. 3,1 KB)


Artikel
Zum Download-Bereich dieses Artikel
Mail an den Autor dieses Artikels

KnowHow
Zur KnowHow-Übersicht

KnowHow-Themen
Themen - Allgemeines
Themen - Entwicklungsumgebung (VB-IDE)
Themen - Forms
Themen - Steuerelemente (Controls)
Themen - Grafik
Themen - Dateien
Themen - UserControls
Themen - Einsteiger-Tipps
Themen - Wussten Sie...?

Übersicht nach Titeln in alphabetischer Reihenfolge
Übersicht nach Erscheinungsdatum

Schnellsuche



Zum Seitenanfang

Copyright © 1999 - 2017 Harald M. Genauck, ip-pro gmbh  /  Impressum

Zum Seitenanfang

Zurück...

Zurück...

Download Internet Explorer