VB 5/6-Tipp 0145: Weite der Dropdownliste einer ComboBox auslesen und einstellen
von ActiveVB
Beschreibung
Wer aus Übersichtsgründen eine ComboBox in ihrer Ausdehnung klein gestalten und trotzdem deren Einträge in der Dropdownliste ausgeschrieben bzw. unabgeschnitten zu Gesicht bekommen möchte, muß die Weite der Dropdownliste verändern können. Dies läßt sich pixelgenau einstellen.
Schwierigkeitsgrad: | Verwendete API-Aufrufe: | Download: |
'Dieser Quellcode stammt von http://www.activevb.de 'und kann frei verwendet werden. Für eventuelle Schäden 'wird nicht gehaftet. 'Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum. 'Ansonsten viel Spaß und Erfolg mit diesem Source! '------------- Anfang Projektdatei Project1.vbp ------------- '--------- Anfang Formular "Form1" alias Form1.frm --------- ' Steuerelement: Schaltfläche "Command1" ' Steuerelement: Timersteuerelement "Timer1" ' Steuerelement: Kombinationsliste "Combo1" Option Explicit Private Declare Function SendMessage Lib "user32" _ Alias "SendMessageA" (ByVal hwnd As Long, _ ByVal wMsg As Long, ByVal wParam As Long, _ lParam As Any) As Long Private Type RECT Left As Long Top As Long Right As Long Bottom As Long End Type Const CB_SHOWDROPDOWN = &H14F Const CB_GETDROPPEDCONTROLRECT = &H152 Const CB_GETDROPPEDWIDTH = &H15F Const CB_SETDROPPEDWIDTH = &H160 Dim cmbX%, Cnt& Private Sub Form_Load() Timer1.Enabled = False cmbX = SendMessage(Combo1.hwnd, CB_GETDROPPEDWIDTH, 0, 0&) Timer1.Interval = 50 End Sub Private Sub Command1_Click() Cnt = 0 Timer1.Enabled = True End Sub Private Sub Timer1_Timer() Dim X%, R As RECT If Cnt < 100 Then X = Sin(Cnt / 100 * 3.14) * cmbX + cmbX SendMessage Combo1.hwnd, CB_SETDROPPEDWIDTH, X, 0& Call SendMessage(Combo1.hwnd, CB_SHOWDROPDOWN, 1, 0&) Call SendMessage(Combo1.hwnd, CB_GETDROPPEDCONTROLRECT, 0, R) Me.Caption = R.Left & " " & R.Top & " " & _ R.Bottom & " " & R.Right Cnt = Cnt + 2 Else Call SendMessage(Combo1.hwnd, CB_SHOWDROPDOWN, 0, 0&) Timer1.Enabled = False End If End Sub '---------- Ende Formular "Form1" alias Form1.frm ---------- '-------------- Ende Projektdatei Project1.vbp --------------
Tipp-Kompatibilität:
Windows/VB-Version | Win32s | Win95 | Win98 | WinME | WinNT4 | Win2000 | WinXP |
VB4 | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
VB5 | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
VB6 | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
Ihre Meinung
Falls Sie Fragen zu diesem Artikel haben oder Ihre Erfahrung mit anderen Nutzern austauschen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.