Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: Visual Basic
Expertise: Intermediate
Aug 20, 1997



Building the Right Environment to Support AI, Machine Learning and Deep Learning

Make a Read-Only Text Box Without Graying the Text

There may be situations in which you want to display text that the user cannot edit, but a label control doesn't quite fit the bill. What you need is a read-only text box, which is done setting a text box's Enabled property to False. Unfortunately, this also grays the text. An alternative is to place the text box on a picture box control and then set the picture box's Enabled property to False. This technique will also disable the text box's scroll bars if it has any. Another approach is to make the text box read-only by sending a EM_SETREADONLY message to the text box using the API function SendMessage as shown here:
 Declare Function SendMessage Lib "User" _ 
(ByVal hWnd As Integer, ByVal wMsg As Integer, _ 
ByVal wParam As Integer, lParam As Any) As Long 

Global Const WM_USER = &H400 
Global Const EM_SETREADONLY = (WM_USER + 31) 

Sub Form_Load () 
Dim i As Long 

'Prevent user from editing text box 
i = SendMessage(Text1.hWnd, EM_SETREADONLY, _ 
True, ByVal 0&) 
End Sub 
This technique allows the user to still select, copy, and scroll the contents of the text box but not edit it.
Jonathan Wood
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date