Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Steuerelement (OCX) zur Laufzeit auf Form setzen

Frage Entwicklung VB for Applications

Mitglied: miniversum

miniversum (Level 3) - Jetzt verbinden

06.12.2008, aktualisiert 08.12.2008, 5903 Aufrufe, 3 Kommentare

Hallo
Ich schreibe gerade unter VBA in Excel 2003 an einem Programm zur Ansteuerung von verschiedenen Geräten für die Datenerfassung und -auswertung. Diese Geräte liefern, zur Ansteuerung, einen Treiber mit der installiert wird. So kann man dann manuel auf eine Form im VBA diese OCX Komponente als Steuerelement auf die Form ziehen und diese dann benutzen. Nun könnte es vorkommen das ich so ein Steuerelement ncith nur einmal plazieren muss sondern mehrmals, abhängig von verschiedenen Gegebenheiten. Daher würde ich gerne, statt dieser manueller Plazierung, das ganze zur Laufzeit machen.
Für einen CommandButton geht das ja z.B. so:
Controls.Add("MSForms.CommandButton.1") ', CommandButton2, Visible)
Aber wie bekomem ich das für eine andere Komponente hin?
Oder muss ich das mit einem ganz anderen Befehl angehen?

miniversum
Mitglied: 16568
06.12.2008 um 21:32 Uhr
Warum platzierst Du die Elemente nicht schon vorher, aber stellst sie auf invisible, und zur benötigten Aktion eben auf sichtbar?


Lonesome Walker
Bitte warten ..
Mitglied: miniversum
07.12.2008 um 10:24 Uhr
Weil ich dann begrenzt wäre auf eine bestimmte Anzahl. Das würd ich nur machen wenn es anders ncith geht. Da ich es eben flexibel gestallten möchte wäre mir eine dynamische plazierung zur Laufzeit lieber.
Bitte warten ..
Mitglied: miniversum
08.12.2008 um 16:42 Uhr
Problem gelöst!
Ich habe die Steuerelemente, da man sie sowieso ncith bedienen kann sondern nur zur Kommunikation dienen, nict auf eine Form gesetzt sondern einer Collection hinzugefügt.
Das ganze sieht dann so aus:
01.
Private ComColl As New collection 
02.
 
03.
Private Sub NewDevice(DeviceDescriptor As String) 
04.
 
05.
    Dim COMObjekt As New tvc 
06.
 
07.
    COMObjekt.Descriptor = DeviceDescriptor  
08.
     
09.
    ComColl.Add COMObjekt 
10.
 
11.
End Sub 
12.
 
13.
Private Sub SendString(DeviceDescriptor As String, Command As String) 
14.
    i = 0 
15.
    For x = 1 To ComColl.Count 
16.
        If ComColl.Item(x).Descriptor = DeviceDescriptor Then i = x 
17.
    Next x 
18.
     
19.
    If i > 0 Then 
20.
        ComColl.Item(i).WriteString Command  
21.
    End If 
22.
End Sub
ComColl ist die Colection der jeweils ein neues Gerät zur Laufzeit, hinzugefügt wird.

NewDevice wird aufgerufen wen ein neues Gerät hinzu kommt.
tvc ist dabei der Datentyp der Schnitstelle.
Descriptor ist eine Beschreibung über die jedes Gerät einen eindeutigen Namen zugeteilt bekommt.

SendString sendet an das jeweilige Gerät einen String. Hierzu wird das zugehörige Steuerelement in der Collection gesucht und über dieses Steuerelement gesendet.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Windows Forms mit Powershell rechts unten in die Ecke des Bildschirm setzen?
gelöst Frage von ConfusedByteBatch & Shell3 Kommentare

Hey alle zusammen, ich habe ein kleines Problem: ich habe eine Anwendung geschrieben die den User informieren soll (mit ...

Visual Studio
WPF Form in Windows Forms Multi Document Interface
Frage von Herbrich19Visual Studio11 Kommentare

Hallo, Ich würde gerne eine WPF Form in eine Windows Forms Anwendung einbauen. Diese soll in einen Multi Document ...

Festplatten, SSD, Raid
Laufzeit von Festplatten im RAID anzeigen
Frage von 114801Festplatten, SSD, Raid20 Kommentare

Ich möchte gerne wissen, ob es möglich wäre, die Laufzeit einer Festplatte die sich im RAID befindet auszulesen bzw. ...

Festplatten, SSD, Raid
Laufzeit einer Seagate und WD Festplatte
Frage von srx2010Festplatten, SSD, Raid2 Kommentare

Hi, ich habe mir eine Seagate Surveillance und eine WD Red Festplatte gekauft. Jetzt möchte ich mittels eines SATA ...

Neue Wissensbeiträge
Apple

IOS 11.2.1 stopft HomeKit-Remote-Lücke

Tipp von BassFishFox vor 7 StundenApple

Das Update für iPhone, iPad und Apple TV soll die Fernsteuerung von Smart-Home-Geräten wieder in vollem Umfang ermöglichen. Apple ...

Windows 10

Windows 10 v1709 EN murkst bei den Regionseinstellungen

Tipp von DerWoWusste vor 12 StundenWindows 10

Dieser kurze Tipp richtet sich an den kleinen Personenkreis, der Win10 v1709 EN-US frisch installiert und dabei die englische ...

Webbrowser

Kein Ton bei Firefox Quantum über RDP

Tipp von Moddry vor 13 StundenWebbrowser

Hallo Kollegen! Hatte das Problem, dass der neue Firefox bei mir auf der Kiste keinen Ton hat, wenn ich ...

Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 1 TagInternet4 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registrierung von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Von rj11 auf rj45
Frage von jensgebkenLAN, WAN, Wireless19 Kommentare

Hallo Gemeinschaft, könnt ihr mir vielleicht bei der anfertigung eines Kabels helfen - habe ein rj 11 stecker und ...

Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

LAN, WAN, Wireless
Häufig Probleme beim Anmelden in WLAN
Frage von mabue88LAN, WAN, Wireless15 Kommentare

Hallo zusammen, in einem Netzwerk gibt es relativ häufig (1-2 mal pro Woche) Probleme mit der WLAN-Verbindung. Zunächst mal ...

Windows Server
SMBv1 deaktivieren führte zur Katastrophe, keine Domänenanmeldung mehr
Frage von Freak-On-SiliconWindows Server14 Kommentare

Servus; Habe Mist gebaut. Umgebung: Server 2012R2 Domäne 2x DC ~10 Memberserver (2012R2 und 2008R2) ~100 Windows 8 Clients ...