|
Вы знаете, что такое каретка? Это та вертикальная палочка, котрая постоянно мигает в любом текстовом редакторе, когда вы набираете какой-либо текст, и она медленько так передвигается вместе с вашими буковками по экрану. Этот небольшой пример покажает, как изменить вид этой самой каретки.
В изменении вида каретки принимает участие API-функция CreateCaret
Declare Function CreateCaret Lib "user32" (ByVal hwnd As Long, ByVal hBitmap As Long, ByVal nWidth As Long, ByVal nHeight As Long) As Long
ByVal hwnd - обозначает хэндл окна, в котором меняется вид каретки
ByVal hBitmap - обозначет цвет каретки
ByVal nWidth - ширина каретки
ByVal nHeight - высота каретки
Следующий пример покажет различные способы изменения вида каретки
Добавьте на форму 1 PictureBox и 3 TextBox'а. Загрузите в элемент PictureBox bmp-файл. Запустите проект на выполнение, нажимайте ТАБУЛЯТОР и смотрите, как меняется вид каретки. 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 ShowCaret Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function GetFocus Lib "user32" () As Long
Private Sub Text1_GotFocus()
h& = GetFocus&()
b& = Picture1.Picture
Call CreateCaret(h&, b&, 10, 10)
x& = ShowCaret&(h&)
End Sub
Private Sub Text2_GotFocus()
h& = GetFocus&()
'Измените на ваше усмотрение цифры 15, 15, которые
обозначают ширину и высоту каретки
Call CreateCaret(h&, 0, 15, 15)
x& = ShowCaret&(h&)
End Sub
Private Sub Text3_GotFocus()
h = GetFocus()
Call CreateCaret(h, 0, 3, 24)
x = ShowCaret(h)
End Sub
|
|