Rubrik: Maus & Tastatur | 22.03.05 |
CreateCaret-Funktion Diese Funktion erstellt ein Caret und weist dieses Caret einem Fenster zu. | ||
Betriebssystem: Win95, Win98, WinNT 3.1, Win2000, WinME | Views: 9.788 |
Deklaration:
Declare Function CreateCaret Lib "user32" ( _ ByVal hwnd As Long, _ ByVal hBitmap As Long, _ ByVal nWidth As Long, _ ByVal nHeight As Long) As Long
Beschreibung:
Diese Funktion erstellt ein Caret und weist dieses Caret einem Fenster zu.
Parameter:
hWnd | Erwartet das Handle des Fensters, dem das Caret zugewiesen werden soll. |
hBitmap | Erwartet den Wert "0", wenn das System ein Standardcaret anlegen soll. Wird derWert "1" übergeben, so ist das Caret ein graues Systemcaret. Außerdem kann man hierdas Handle eines Bitmaps übergeben, das als Caret angezeigt werden soll. DieGröße des Bitmaps ist dabei uninteressant, lediglich ist zu beachten, dass dieses Bitmap mit der CreateBitmap-, CreateDIBitmap- oder der LoadBitmap-Funktion erstellt wurde. |
nWidth | Erwartet die Breite des Carets. Wird hier derWert "0" übergeben, so wird die Systembreite des Rahmens für ein Fenster genommen. Wurde bei "hBitmap" das Handle eines Bitmaps übergeben, so wird dieser Wert ignoriert, da das Bitmap selbst die Breite festlegt. |
nHeight | Erwartet die Höhe des Carets. Wird hier derWert "0" übergeben, so wird die Systemhöhe des Rahmens für ein Fenster genommen. Wurde bei "hBitmap" das Handle eines Bitmaps übergeben, so wird dieser Wert ignoriert, da das Bitmap selbst die Höhe festlegt. |
Rückgabewert:
Ist die Funktion erfolgreich so wird ein Wert "ungleich 0" zurückgegeben, andernfalls der wert "0". Für erweitete Fehlerinformationen könnenSie die GetLastError-Funktion aufrufen.
Beispiel:
Private Declare Function CreateCaret Lib "user32" ( _ ByVal hwnd As Long, _ ByVal hBitmap As Long, _ ByVal nWidth As Long, _ ByVal nHeight As Long) As Long Private Declare Function GetCaretBlinkTime Lib "user32" () As Long Private Declare Function SetCaretBlinkTime Lib "user32" ( _ ByVal wMSeconds As Long) As Long Private Declare Function ShowCaret Lib "user32" (ByVal hwnd As Long) As Long Dim OldBlinkTime As Long, Retval As Long
' Standard Blinkzeit für Carets ermitteln und neu setzen Private Sub Form_Load() OldBlinkTime = GetCaretBlinkTime Call SetCaretBlinkTime(200) ' Caretbitmap vorladen Picture1.AutoSize = True Picture1.Picture = LoadPicture(App.Path & "\NewCaret.bmp") End Sub
' Caret Blinkzeit wieder herstellen Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) Call SetCaretBlinkTime(OldBlinkTime) End Sub
' Caret erstellen und anzeigen Private Sub Text1_GotFocus() Retval = CreateCaret(Text1.hwnd, Picture1.Picture, 0&, 0&) Retval = ShowCaret(Text1.hwnd) End Sub