Breite einer ComboBox zur Laufzeit ändern?

13/11/2007 - 17:51 von Joachim Gohlke | Report spam
Hallo,

ich würde ja gerne die Breite meiner dyn. erstellten ComboBox (nicht des
Listenfeldes) auch zur Laufzeit àndern, wirft aber Fehler '383': Eigenschaft
ist schreibgeschützt.

Gibt's vielleicht ne Möglichkeit über API?

Joachim Gohlke
 

Lesen sie die antworten

#1 Peter Götz
13/11/2007 - 19:14 | Warnen spam
Hallo Joachim,

ich würde ja gerne die Breite meiner dyn. erstellten ComboBox
(nicht des Listenfeldes) auch zur Laufzeit àndern, wirft aber
Fehler '383': Eigenschaft ist schreibgeschützt.



Welche Eigenschaft denn?
Combobox.Width ist es nicht.

Gibt's vielleicht ne Möglichkeit über API?



Dazu brauchst Du keine APi.
Hier ein kleines Beispiel

' /// Code in einer leeren Form1
Option Explicit
Private WithEvents CBox As ComboBox

Private Sub CBox_Click()
CBox.Width = CBox.ItemData(CBox.ListIndex)
End Sub

Private Sub Form_Load()
Dim i As Integer
Dim X As Integer

Me.ScaleMode = vbPixels
Set CBox = Me.Controls.Add("VB.ComboBox", "CBox")
With CBox
.Left = 10
.Top = 20
.Width = 200
.Font.Name = "Arial"
.Font.Size = 14
.Visible = True
End With

For i = 1 To 10
X = 150 + i * 10
CBox.AddItem "Breite " & CStr(X)
CBox.ItemData(CBox.NewIndex) = X
Next i
CBox.ListIndex = 0
End Sub

' \\\ E N T E

Gruß aus St.Georgen
Peter Götz
www.gssg.de (mit VB-Tipps u. Beispielprogrammen)

Ähnliche fragen