Atlanta Custom Software Development 

   Search        Code/Page

User Login



Forgot the Password?
» Web Development
» Maintenance
» Data Integration/BI
» Information Management
» Regular Expr Tester
» Free Tools

Show a custom caret

Total Hit ( 2176)

Rate this article:     Poor     Excellent 

 Submit Your Question/Comment about this article



VB gives you no control on the size of the text caret. At times it can be necessary to change its size, however, for example when you want to signal that the TextBox is in overwrite mode. Here's a routine that does the trick:

Click here to copy the following block
Private Declare Function GetFocus Lib "user32" () As Long
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

' Create and show a caret of given size

Sub ShowCustomCaret(ByVal width As Integer, ByVal height As Integer)
  CreateCaret GetFocus(), 0, width, height
  ShowCaret GetFocus()
End Sub

The above routine is meant to be invoked from within the GotFocus event of all textboxes on the form. This is necessary because VB has the bad habit to destroy any caret when the focus move to another field:

Click here to copy the following block
Private Sub Text1_GotFocus()
  ' Show a caret 5 pixelz wide and 14 pixels tall
  ShowCustomCaret 5, 14
End Sub

Submitted By : Nayan Patel  (Member Since : 5/26/2004 12:23:06 PM)

Job Description : He is the moderator of this site and currently working as an independent consultant. He works with, SQL Server and other MS technologies. He is, MCDBA and MCSE. In his free time he likes to watch funny movies and doing oil painting.
View all (893) submissions by this author  (Birth Date : 7/14/1981 )

Home   |  Comment   |  Contact Us   |  Privacy Policy   |  Terms & Conditions   |  BlogsZappySys

© 2008 BinaryWorld LLC. All rights reserved.