vscroll

I need a complete and detailed  working example of code for verticle scrolling of a text box. I am using vb4-16bit
hjaycoxAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

hjaycoxAuthor Commented:
Edited text of question
0
bin_huwairibCommented:
hjaycox,

[1] To scroll a text box automatically:
Set the MultiLine property to True and the ScrollBars property to Vertical (2).

[2] To scroll text box programmatically, check the following example:

1. From the File menu, choose New Project (press ALT, F, N).
2. Double-click Form1 to bring up the code window.
3. Add the following API declaration to the General Declarations
section of Form1:
 
Declare Function PutFocus% Lib "user" Alias "SetFocus" (ByVal
                                                           hWd%)
Declare Function SendMessage& Lib "user" (ByVal hWd%,
                                          ByVal wMsg%,
                                          ByVal wParam%,
                                          ByVal lParam&)
 
4. Create a text box called Text1 on Form1. Set the MultiLine property to True and the ScrollBars property to Horizontal (1).
5. Create a command button called Command1 and change the Caption to "Vertical".
6. Create another command button called Command2 and change the Caption to "Horizontal".
7. From the General Declarations section of Form1, create a procedure to initialize some text in the text box as follows:
 
Sub InitializeTextBox ()
Text1.Text = ""
For i% = 1 To 50
 Text1.Text = Text1.Text + "This is line " + Str$(i%)
 For j% = 1 to 10
  Text1.Text = Text1.Text + " Word "+ Str$(j%)
 Next j%
    Text1.Text = Text1.Text + Chr$(13) + Chr$(10)
   x% = DoEvents()
Next i%
End Sub
 
8. Add the following code to the load event procedure of Form1:
 
Sub Form_Load ()
 Call InitializeTextBox
End Sub
 
9. Create the actual scroll procedure within the General Declarations section of Form1 as follows:
 
Function ScrollText& (TextBox As Control, vLines As Integer, hLines As Integer)

Const EM_LINESCROLL = &H406
Lines& = Clng(&H10000 * hLines) + vLines
SavedWnd%  = Screen.ActiveControl.Hwnd
TextBox.SetFocus
Success& = SendMessage(TextBox.HWnd, EM_LINESCROLL, 0, Lines&)
r% = PutFocus% (SavedWnd%)
ScrollText& = Success&
 
End Function

10. Add the following code to the click event procedure of Command1 labeled "Vertical":
 
Sub Command1_Click ()
 Num& = ScrollText&(Text1, 5, 0)
End Sub
 
11.  Add the following code to the click event procedure of Command2 labeled "Horizontal":
 
Sub Command2_Click ()
 Num& = ScrollText&(Text1, 0, 5)
End Sub


Best regards
Bin Huwairib
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
hjaycoxAuthor Commented:
hjaycox,

1- Add Private keyword before the declaration:

 Private Declare Function PutFocus% Lib...
 Private Declare Function SendMessage& Lib...

2- You mess type the function, its not CHNG its CLNG (clng) and its a function in VB.

3- The loop in InitializeTEXTBOX() sub is for testing perpose, so you can remove it and put your code there. Example:

Sub InitializeTextBox()
 Dim MyParag as String
 
 MyParag = "Line No.1" & Chr(13) & Chr(10)
 MyParag = MyParag + "Line No.2" + Chr(13) + Chr(10)
 ..
 ..
 MyParag = MyParag + "Line No.30"
 Text1.Text = MyParag
End Sub

Bin Huwairib
0
bin_huwairibCommented:
thanks have another 100 on me
0
hjaycoxAuthor Commented:
excellent ...thank you
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Visual Basic Classic

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.