Deklaration: Declare Function GetClassName Lib "user32.dll" _ Alias "GetClassNameA" ( _ ByVal hWnd As Long, _ ByVal lpClassName As String, _ ByVal nMaxCount As Long) As Long Beschreibung: Parameter:
Rückgabewert: Beispiel: Private Declare Function GetClassLong Lib "user32.dll" _ Alias "GetClassLongA" ( _ ByVal hWnd As Long, _ ByVal nIndex As Long) As Long Private Declare Function SetClassLong Lib "user32.dll" _ Alias "SetClassLongA" ( _ ByVal hWnd As Long, _ ByVal nIndex As Long, _ ByVal dwNewLong As Long) As Long Private Declare Function GetClassName Lib "user32.dll" _ Alias "GetClassNameA" ( _ ByVal hWnd As Long, _ ByVal lpClassName As String, _ ByVal nMaxCount As Long) As Long Private Declare Function CallWindowProc Lib "user32.dll" _ Alias "CallWindowProcA" ( _ ByVal lpPrevWndFunc As Long, _ ByVal hWnd As Long, _ ByVal Msg As Long, _ ByVal WParam As Long, _ ByVal lParam As Long) As Long Private Declare Function LoadImage Lib "user32" _ Alias "LoadImageA" ( _ ByVal hInst As Long, _ ByVal lpsz As String, _ ByVal dwImageType As Long, _ ByVal dwDesiredWidth As Long, _ ByVal dwDesiredHeight As Long, _ ByVal dwFlags As Long) As Long ' Get/Set-Class nIndex-Konstanten Private Const GCL_CBCLSEXTRA = -20 ' Ermittelt die Größe des Extraspeichers der Klasse Private Const GCL_CBWNDEXTRA = -18 ' Ermittelt die Größe des Extraspeichers des Fensters Private Const GCL_HBRBACKGROUND = -10 ' Ermittelt das Handle des Brushs der Klasse Private Const GCL_HCURSOR = -12 ' Ermittelt das Handle des Cursors der Klasse Private Const GCL_HICON = -14 ' Ermittelt das Handle des Icons der Klasse Private Const GCL_HMODULE = -16 ' Ermittelt das Handle des Moduls der Klasse Private Const GCL_MENUNAME = -8 ' Ermittelt den Menünamen der Klasse Private Const GCL_STYLE = -26 ' Ermittelt die Fensterstyle der Klasse Private Const GCL_WNDPROC = -24 ' Ermittelt die Prozeduradresse der Klasse ' LoadImage dwImageType-Konstanten Private Const IMAGE_BITMAP = 0 ' gibt ein Handle zu einem Bitmap zurück Private Const IMAGE_ICON = 1 ' gibt ein Handle zu einem Icon zurück Private Const IMAGE_CURSOR = 2 ' gibt ein Handle zu einem Cursor zurück Private Const IMAGE_ENHMETAFILE = 3 ' gibt ein Handle zu einer Enhanced Metadatei zurück ' LoadImage dwFlags-Konstanten Private Const LR_CREATEDIBSECTION = &H2000 ' Lädt ein Bitmap mit 'Dib-Sektionen Private Const LR_DEFAULTCOLOR = &H0 ' Lädt das Bild in den Standardfarben (Not LR_MONOCHROME) Private Const LR_DEFAULTSIZE = &H40 ' Lädt das Bild in der Standardgröße des Bildes Private Const LR_LOADFROMFILE = &H10 ' Lädt das Bild von einer Datei Private Const LR_LOADMAP3DCOLORS = &H1000 ' Ersetzt bestimmte Grautöne eines Bildes mit den Systemfarben ' für 3D-Ramen die normalerweise den Grautönen zugeordnet sind Private Const LR_LOADTRANSPARENT = &H20 ' Ersetzt alle Pixel des Bildes mit dem Farbwert des Ersten Pixels ' des Bitmaps durch die Standard-Fensterhintergrundfarbe Private Const LR_MONOCHROME = &H1 ' Lädt das Bild in Schwarzweiß Private Const LR_SHARED = &H8000 ' Diese Option erzwingt, dass wenn die Funktion mehrmals ' aufgerufen wird, jedes Mal das gleiche Handle zurückgegeben ' wird und das Bild nicht erneut geladen wird Private Const LR_COPYFROMRESOURCE = &H4000 ' Lädt das Bild aus einer Ressource ' Eine der Fensternachrichten Private Const WM_CLOSE = &H10 ' Schließt das Fenster Private hIcon As Long ' Der Fensterklasse unserer Form ein anderes Icon zuweisen Private Sub Form_Load() Dim Retval As Long Dim Buffer As String * 256 ' Klassennamen ermitteln Retval = GetClassName(Me.hWnd, Buffer, Len(Buffer)) If Retval = 0 Then MsgBox "Der klassenname konnte nicht Ermittelt werden" Else MsgBox "Der Klassenname dieses Fensters ist """ & Left$(Buffer, _ Retval) & """" End If ' Icon laden hIcon = LoadImage(App.hInstance, App.Path & "\Misc01.ico", IMAGE_ICON, _ 16&, 16&, LR_LOADFROMFILE) If hIcon = 0 Then MsgBox "Fehler beim Laden des Icons" Exit Sub End If ' Icon der Klasse zuweisen (Das Fenster zeigt darauf keinerlei Reaktionen, ' man müsste zu diesem Zweck selbst ein Fenster dieser Klasse mit Hilfe ' der CreateWindowEx Funktion erstellen) Retval = SetClassLong(Me.hWnd, GCL_HICON, hIcon) If Retval = 0 Then MsgBox "Das Icon konnte nicht zugewiesen werden" End If End Sub ' Form schließen einmal anders Private Sub Command1_Click() Dim ProcAddress As Long ' Prozedur-Adresse unserer Form bekommen ProcAddress = GetClassLong(Form1.hWnd, GCL_WNDPROC) If ProcAddress = 0 Then MsgBox "Die Prozeduradresse der Fensterklasse konnte nicht _ ermittelt werden." End End If ' Unserer Form die Schließen-Nachricht zusenden CallWindowProc ProcAddress, Me.hWnd, WM_CLOSE, 0&, 0& End Sub Diese Seite wurde bereits 17.388 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 Mai 2024 Hermann Röttger Wochentage eines Datumsbereichs ermitteln Wochentage eines Datumsbereichs ermitteln, optional mit Feiertagsberechnung Neu! sevCommand 4.0 Professionelle Schaltflächen im modernen Design! Mit nur wenigen Mausklicks statten auch Sie Ihre Anwendungen ab sofort mit grafischen Schaltflächen im modernen Look & Feel aus (WinXP, Office, Vista oder auch Windows 8), inkl. große Symbolbibliothek. |
||||||||||||||||
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. |