Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Scrolling Forms
Message
De
11/06/1998 15:31:34
Raymond Humphrys
Michigan Department of Community Health
Bath, Michigan, États-Unis
 
Information générale
Forum:
Visual FoxPro
Catégorie:
Gestionnaire d'écran & Écrans
Titre:
Divers
Thread ID:
00086569
Message ID:
00107320
Vues:
63
>>Yes, thanks. Could you send me some code to get started. Nice move.
>>
>>thanks,
>>
>>ray
>
>Ray,
>
>I apologize for the delay. I've been focused on moving into a new home, starting a new job, and developing a contracting project. Making time to breathe has been a concern, too.
>
>Here's some code for you to try. In the form, place two scroll bars anywhere on the form and make one vertical, the other horitzontal. Make sure the object names and the sample code match.
>
>A couple things to keep in mind is: 1) This may not be the only/best way to do this (but it worked for me); 2) You'll need a bitmap of the lower-right portion of a window (the square piece connecting the vertical and horitzonal scroll bars) and call it "GrabSize". Without it, there may be a clear/blank area there instead.
>
>Good luck!
>
>Michael Reynolds
>Santa Barbara, CA
>
>**********************
>
>CHANGE EVENT FOR VERT SCROLL
>
>* ----- create factor constant
>
>ScrollFactor = ;
> 32767 / (THISFORM.PageFrame1.Height - (THISFORM.Height - 20))
>
>* ----- set top property of page frame
>THISFORM.PageFrame1.Top = 0 - THIS.Value / ScrollFactor
>
>* ----- refresh form
>THISFORM.PageFrame1.Refresh
>
>*********************
>
>CHANGE EVENT FOR HORIZ SCROLL
>
>* ----- create factor constant
>ScrollFactor = ;
> 32767 / (THISFORM.PageFrame1.Width - (THISFORM.Width - 16))
>
>* ----- set top property of page frame
>THISFORM.PageFrame1.Left = 0 - (THIS.Value / ScrollFactor)
>
>* ----- refresh form
>THISFORM.PageFrame1.Refresh
>
>**********************
>
>INIT EVENT FOR FORM
>
>* ----- set scroll size according to resolution
>THIS.ScrollSize = IIF(SCOLS() > 99, 16, 13)
>
>* ----- set properties
>THIS.VertScroll.SmallChange = 1500
>THIS.HorizScroll.SmallChange = 2000
>THIS.VertScroll.LargeChange = 4000
>THIS.HorizScroll.LargeChange = 6000
>
>* ----- set win pos
>THIS.Left = &pcAlias..wLeft
>THIS.Top = &pcAlias..wTop
>THIS.Width = &pcAlias..wWidth
>THIS.Height = &pcAlias..wHeight
>
>* ----- locate bitmap in bottom right corner
>THIS.GrabSize.Move((THIS.Width - THIS.ScrollSize), ;
> THIS.Height - THIS.ScrollSize)
>THIS.GrabSize.Height = THIS.Height
>THIS.GrabSize.Height = THIS.ScrollSize
>THIS.GrabSize.Width = THIS.ScrollSize
>THIS.GrabSize.Left = THIS.Width - THIS.ScrollSize
>THIS.GrabSize.Top = THIS.Height - THIS.ScrollSize
>
>THIS.Resize()
>
>************************
>
>RESIZE EVENT FOR FORM
>
>* ----- move bitmap around
>THIS.GrabSize.Left = THIS.Width - THIS.ScrollSize
>THIS.GrabSize.Top = THIS.Height - THIS.ScrollSize
>
>* ----- move them
>THIS.VertScroll.Move(THIS.Width - THIS.ScrollSize, 0)
>THIS.HorizScroll.Move(0, THIS.Height - THIS.ScrollSize)
>
>* ----- resize scroll bars
>THIS.VertScroll.Height = THIS.Height
>THIS.VertScroll.Height = THIS.Height - THIS.ScrollSize
>THIS.VertScroll.Width = THIS.ScrollSize
>THIS.VertScroll.Left = THIS.Width - THIS.ScrollSize
>THIS.HorizScroll.Width = THIS.Width
>THIS.HorizScroll.Width = THIS.Width - THIS.ScrollSize
>THIS.HorizScroll.Height = THIS.ScrollSize
>THIS.HorizScroll.Top = THIS.Height - THIS.ScrollSize
>
>* ----- refresh form
>THIS.PageFrame1.Refresh

I built a form. It has a pageframe in the middle and the MS H&V scroll bars on the form, not the pageframe.
The code you sent me dies in the H&V Change event at the following line:

THISFORM.tsPageFrame1.Top = 0 - THIS.Value / ScrollFactor

I don't think VFP likes the second half of the numerator i.e. "THIS.Value". What is this supposed to be?

Thanks for the code. Considering your move, job, and Santa Barbara it was nice of you to send it along.

ray
Some days it's not worth chewing through the leather straps ...
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform