Jay P
asked on
Need Round corner text box in Visual Basic 6
Hi Experts,
I need to use text box that has rounded corners, in a Visual Basic 6 application . A customer has specifically asked for rounded-corner text boxes. If anyone has used it or know where to find it, please pass on the information.
I need to use text box that has rounded corners, in a Visual Basic 6 application . A customer has specifically asked for rounded-corner text boxes. If anyone has used it or know where to find it, please pass on the information.
http://www.codeproject.com/KB/vb/RoundedCornerTextbox.aspx
ASKER
Codebot, The source code is in VB.net that I do not have much experience with. How can I use it in VB6?
Hi
Please have a look at this
http://www.vbaccelerator.com/home/VB/Code/Libraries/XP_Visual_Styles/Using_XP_Visual_Styles_in_VB/article.asp
Please have a look at this
http://www.vbaccelerator.com/home/VB/Code/Libraries/XP_Visual_Styles/Using_XP_Visual_Styles_in_VB/article.asp
You can create round edges using the following functions. You will want to change the borderstyle of your textboxe to - None to get a decent result. See code block for example.
CreateRoundRectRgn
http://msdn.microsoft.com/en-us/library/dd183516(VS.85).aspx
SetWindowRgn
http://msdn.microsoft.com/en-us/library/dd145102(VS.85).aspx
CreateRoundRectRgn
http://msdn.microsoft.com/en-us/library/dd183516(VS.85).aspx
SetWindowRgn
http://msdn.microsoft.com/en-us/library/dd145102(VS.85).aspx
Option Explicit
Private Declare Function CreateRoundRectRgn Lib "Gdi32.dll" (ByVal nLeftRect As Long, ByVal nTopRect As Long, ByVal nRightRect As Long, ByVal nBottomRect As Long, ByVal nWidthEllipse As Long, ByVal nHeightEllipse As Long) As Long
Private Declare Function SetWindowRgn Lib "User32.dll" (ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Long) As Long
Private Declare Function DeleteObject Lib "Gdi32.dll" (ByVal hObject As Long) As Long
Public Sub MakeRound(ByRef t As TextBox)
Dim hRgn As Long
hRgn = CreateRoundRectRgn(0, 0, _
t.Width / Screen.TwipsPerPixelX, _
t.Height / Screen.TwipsPerPixelX, 5, 5)
If hRgn Then
SetWindowRgn t.hWnd, hRgn, 1
DeleteObject hRgn
End If
End Sub
Private Sub Form_Load()
MakeRound Text1
End Sub
An alternate way of creating a textbox with round corners is by using an image and creating a pseudo-round cornered textbox. You could make the image in photoshop then use it as a background for your form or place an image control on the form to contain the picture. Your form would look like this: http://dennisdel.com/wp-content/uploads/2010/07/image4.png. From there, place a text box with no border on top of that picture box and make sure the bounds of the text box fit within the text box image. This is the way I always used to do my custom style controls. It's not perfect, but it works, and it's quick. For any clarifications, just ask :)
ASKER
sabrehagen;
The textbox looks nice. Would you be able to point me to the code that is ready to be used for the textbox you sent?
Codebot: I have not been able to create the textbox with the example you sent. where do I put the Xml code that is followed by the line, shown in the link you sent?
The manifest XML document required to use XP Visual Styles is as follows:
.....
The textbox looks nice. Would you be able to point me to the code that is ready to be used for the textbox you sent?
Codebot: I have not been able to create the textbox with the example you sent. where do I put the Xml code that is followed by the line, shown in the link you sent?
The manifest XML document required to use XP Visual Styles is as follows:
.....
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Has this solved your problem uzairp? If so, could you please select a comment as the solution please?
ASKER
Yes, I can use the code example that sabrehagen sent. Thank you.