Deklaration: Declare Function DestroyWindow Lib "user32.dll" ( _ ByVal hWnd As Long) As Long Beschreibung: Parameter:
Rückgabewert: Beispiel: ' Fügen Sie folgenden Code in ein Klassemodul ein Option Explicit Private Declare Function InitCommonControlsEx Lib "comctl32.dll" ( _ lpInitCtrls As INITCOMMONCONTROLSEX_TYPE) As Long Private Declare Function CreateWindowEx Lib "user32.dll" _ Alias "CreateWindowExA" ( _ ByVal dwExStyle As Long, _ ByVal lpClassName As String, _ ByVal lpWindowName As String, _ ByVal dwStyle As Long, _ ByVal x As Long, _ ByVal y As Long, _ ByVal nWidth As Long, _ ByVal nHeight As Long, _ ByVal hWndParent As Long, _ ByVal hMenu As Long, _ ByVal hInstance As Long, _ lpParam As Any) As Long Private Declare Function MoveWindow Lib "user32.dll" ( _ ByVal hWnd As Long, _ ByVal x As Long, _ ByVal y As Long, _ ByVal nWidth As Long, _ ByVal nHeight As Long, _ ByVal bRepaint As Long) As Long Private Declare Function DestroyWindow Lib "user32.dll" ( _ ByVal hWnd As Long) As Long Private Declare Function SendMessage Lib "user32.dll" _ Alias "SendMessageA" ( _ ByVal hWnd As Long, _ ByVal Msg As Long, _ ByVal wParam As Long, _ ByVal lParam As Long) As Long Private Declare Sub CopyMemory Lib "kernel32" _ Alias "RtlMoveMemory" ( _ Destination As Any, _ Source As Any, _ ByVal Length As Long) Private Type INITCOMMONCONTROLSEX_TYPE dwSize As Long dwICC As Long End Type ' INITCOMMONCONTROLSEX_TYPE dwICC-Konstanten ' ========================================== ' Animate Klasse Private Const ICC_ANIMATE_CLASS = &H80 ' Status Bar, Trackbar und Toolbar Klassen Private Const ICC_BAR_CLASSES = &H4 ' Rebar Klasse Private Const ICC_COOL_CLASSES = &H400 ' Date und Time Picker Klassen Private Const ICC_DATE_CLASSES = &H100 ' Hotkey Klasse Private Const ICC_HOTKEY_CLASS = &H40 ' IP-Adress Klasse Private Const ICC_INTERNET_CLASSES = &H800 ' Listview Klasse Private Const ICC_LISTVIEW_CLASSES = &H1 ' Page Klasse Private Const ICC_PAGESCROLLER_CLASS = &H1000 ' Progress Bar Klasse Private Const ICC_PROGRESS_CLASS = &H20 ' Tab und Tooltip Klassen Private Const ICC_TAB_CLASSES = &H8 ' Treeview und Tooltip Klassen Private Const ICC_TREEVIEW_CLASSES = &H2 ' UP-Down Klasse Private Const ICC_UPDOWN_CLASS = &H10 ' ControlBoxEx Klassen Private Const ICC_USEREX_CLASSES = &H200 ' Animate, Header, Hotkey, Listview, ProgressBar, StatusBar, ' Tab, Tooltip, ToolBar, Trackbar, Treeview und UP-Down ' Klassen Private Const ICC_WIN95_CLASSES = &HFF ' Einige der Standard Fensterstyle Private Const WS_CHILD = &H40000000 Private Const WS_VISIBLE = &H10000000 ' Progressbar Konstanten Private Const WM_USER = &H400 Private Const CCM_FIRST = &H2000 Private Const CCM_SETBKCOLOR = (CCM_FIRST + 1) Private Const PBM_DELTAPOS = (WM_USER + 3) Private Const PBM_GETPOS = (WM_USER + 8) Private Const PBM_GETRANGE = (WM_USER + 7) Private Const PBM_SETBARCOLOR = (WM_USER + 9) Private Const PBM_SETBKCOLOR = CCM_SETBKCOLOR Private Const PBM_SETPOS = (WM_USER + 2) Private Const PBM_SETRANGE = (WM_USER + 1) Private Const PBM_SETRANGE32 = (WM_USER + 6) Private Const PBM_SETSTEP = (WM_USER + 4) Private Const PBM_STEPIT = (WM_USER + 5) ' Eigene Strukturen und Variablen Private Type MinMax Min As Integer Max As Integer End Type Private TmpRange As MinMax Private hProgressBar As Long Private LastValue As Long Private LastMin As Long Private LastMax As Long ' Beim Initialisieren der Klasse die Progressbar ' erstellen und auf der Form anzeigen Private Sub Class_Initialize() Dim Retval As Long, CCInit As INITCOMMONCONTROLSEX_TYPE ' Progressbar der Struktur zuweisen With CCInit .dwSize = Len(CCInit) .dwICC = ICC_PROGRESS_CLASS End With ' Progressbar registrieren Retval = InitCommonControlsEx(CCInit) If Retval = 0 Then MsgBox "Die ProgressBar konnte nicht registriert werden.", _ vbCritical, "Fehler" Exit Sub End If ' Progressbar Fenster erstellen und auf der Form anzeigen hProgressBar = CreateWindowEx(0&, "msctls_progress", _ "ProgressBar", WS_CHILD Or WS_VISIBLE, 5, 5, 200, 20, _ Form1.hWnd, 0&, App.hInstance, 0&) If hProgressBar = 0 Then MsgBox "Progressbar Fenster konnte nicht erstellt werden." End If End Sub ' Beim Zerstören der Klasse Progressbar entfernen Private Sub Class_Terminate() DestroyWindow hProgressBar End Sub ' Ermittelt und setzt den aktuell gewählten Wert der ' Progressbar Public Property Let Value(ByVal NewValue As Integer) SendMessage hProgressBar, PBM_SETPOS, NewValue, 0& End Property Public Property Get Value() As Integer Value = SendMessage(hProgressBar, PBM_GETPOS, 0&, 0&) End Property ' Ermittelt und setzt die minimale Reichweite der Progressbar Public Property Let Min(ByVal NewValue As Integer) Dim TmpLng As Long ' Wir müssen die Struktur in eine Long-Variable umwandeln, ' um sie der Funktion zu übergeben TmpRange.Min = NewValue CopyMemory TmpLng, TmpRange, Len(TmpLng) SendMessage hProgressBar, PBM_SETRANGE, 0&, TmpLng End Property Public Property Get Min() As Integer Min = TmpRange.Min End Property ' Ermittelt und setzt die maximale Reichweite der Progressbar Public Property Let Max(ByVal NewValue As Integer) Dim TmpLng As Long, a(1) As Integer ' Wir müssen die Struktur in eine Long-Variable umwandeln, ' um sie der Funktion zu übergeben TmpRange.Max = NewValue CopyMemory TmpLng, TmpRange, Len(TmpLng) SendMessage hProgressBar, PBM_SETRANGE, 0&, TmpLng End Property Public Property Get Max() As Integer Max = TmpRange.Max End Property ' Setzt die Fensterposition und Größe ' (in diesem Fall der Progressbar) Public Function SetPos(ByVal Left As Long, ByVal Top As Long, _ ByVal Width As Long, ByVal Height As Long) MoveWindow hProgressBar, Left, Top, Width, Height, True End Function <hr size=1> ' Fügen Sie nachfolgenden Code in eine Form ein (Form1!) ' Benötigt wird zusätzlich noch ein Command1-Button Private Progress1 As clsProgressBar ' Lädt die ProgressBar und zeigt sie an Private Sub Form_Load() Set Progress1 = New clsProgressBar Me.ScaleMode = vbPixels ' Voreinstellungen Progress1.Min = 0 Progress1.Max = 1000 End Sub ' Die ProgressBar, sowie den CommadButton immer in der ' Mitte des Fenster anzeigen Private Sub Form_Resize() Progress1.SetPos Me.ScaleWidth / 3, _ (Me.ScaleHeight - 20) / 2, Me.ScaleWidth / 3, 20 Command1.Top = (Me.ScaleHeight - 20) / 2 + 25 Command1.Left = (Me.ScaleWidth - Command1.Width) / 2 End Sub ' Startet einen Ablauf der Progressbar Private Sub Command1_Click() Dim i As Long Command1.Enabled = False With Progress1 For i = .Min To .Max Step 0.01 .Value = i DoEvents Next i MsgBox "Vorgang beendet !", vbInformation, _ "ProgressBar ohne ActiveX" .Value = .Min End With Command1.Enabled = True End Sub Diese Seite wurde bereits 12.339 mal aufgerufen. |
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. Buchempfehlung Tipp des Monats November 2024 Dieter Otter WAVE-Dateien aufnehmen Ein Code-Ausschnitt, mit dem sich WAVE-Dateien in verschiedenen Aufnahmequalitäten aufnehmen lassen. sevAniGif (VB/VBA) Anzeigen von animierten GIF-Dateien Ab sofort lassen sich auch unter VB6 und VBA (Access ab Version 2000) animierte GIF-Grafiken anzeigen und abspielen, die entweder lokal auf dem System oder auf einem Webserver gespeichert sind. |
||||||||||||
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. |