Sign up on the Revelation Software website to have access to the most current content, and to be able to ask questions and get answers from the Revelation community

At 08 MAR 2001 03:30:43PM b cameron wrote:

I have a form with 7 listboxes (1 for each day of the week).

None of the boxes have a vert. scroll bar. It has been requested that the form have a scroll bar. I could add 1 for each box.

But, how would one have one scroll bar that controlled all the boxes so they all moved the same when the thumbnail was moved.

Thanks


At 08 MAR 2001 03:43PM Robert Lee wrote:

One approach might be to use editables instead of a list boxes and use the VSCROLL event to fire an omnievent which sets the TOPPOS property of the other six edittables.

Depending on the format of your data, you might not like the appearance of the edittable, but you can do quite a lot to disguise it, like removing the grid lines, removing the column heading, removing the row numbers, change the background colour and what do ya know, it doesn't even look like an edittable.

Again, depending on your data, your only problem at that point might be editing it. F2 to edit is clumsy compared with an edit box for example.


At 08 MAR 2001 03:57PM b cameron wrote:

Robert,

Thanks for the response. Initially I did have it as an edittable but it has worked out nicely as 7 listboxes. Each box gets filled with time slots for the day. The user can select slots with the mouse or keys and right click to select a flag. The flag is from an bmp with 4 images and displays the correct image as a flag next to the slot(s).

So, images were desired, multiple selection, column headings with action etc., the list box(es) work well so I'm going to stick with those. Will VSCROLL and TOPPOS still apply here?


At 08 MAR 2001 04:38PM Oystein Reigem wrote:

VSCROLL and TOPPOS should work fine as regards navigating with the scroll bar. That should keep all the list boxes in sync with the scroll bar. I assume your list boxes have no vertical scroll bar themselves.

But you might need something in addition for the case where the focus is at a list box and the user starts scrolling with the arrow or page or home/end keys: For each list box a CHANGED handler that keeps all the other list boxes and the scroll bar in sync. The CHANGED handler must get the current TOPPOS and set the TOPPOS of all the other list boxes to the same value, and also the VPOSITION of the scroll bar. (Here I've assumed your scroll bar has a minimum value of 1, so it corresponds directly with the TOPPOS value.)

- Oystein -


At 08 MAR 2001 04:45PM Oystein Reigem wrote:

Bruce,

Came to think of one thing: If your menus and lists and stuff are set to "Animate" (???) each list box will scroll with a continuous motion, each waiting for the previous one to finish. Duh.

- Oystein -


At 08 MAR 2001 05:06PM b cameron wrote:

Oy,

I'm not sure I understand? Animate???

B


At 09 MAR 2001 11:01AM Oystein Reigem wrote:

Bruce,

Control Panel - Screen - Effects - Animate windows, menus and lists. (Or something. My Windows is Norwegian.) Makes movement more continuous. E.g, try changing the setting and check what happens if you move a window with the mouse. E.g, check what happens if you scroll a list box or very long menu. At least if you have a slow computer, with the setting on, you will notice the delay. I did my experiments yesterday on my slow home computer. Now at work, where I have a faster computer, and this setting normally is off, I don't see much difference.

- Oystein -


At 11 MAR 2001 03:21PM Robert Lee wrote:

Yeah, I like list boxes too. Unfortunately, they don't seem to have a VSCROLL event. I don't know whether someone clever could help you make the WINMSG event to fire on a Vertical Scroll? Don? Sprezz?


At 11 MAR 2001 05:11PM rayc@symmetryinfo.com wrote:

…Unfortunately, they don't seem to have a VSCROLL event. I don't know whether someone clever could help you make the WINMSG event to fire on a Vertical Scroll? Don? Sprezz?

Don't forget RTI!!! I think it's okay to mention RTI.

rayc@symmetryinfo.com onmouseover=window.status=imagine … ;return(true)"

Symmetry Info

Ray Chan ~ Symmetry Info


At 12 MAR 2001 12:57PM [url=http://www.sprezzatura.com" onMouseOver=window.status=Click here to visit our web site?';return(true)]The Sprezzatura Group[/url] wrote:

Put this on the create event of your window. You're now trapping the VScroll message.

Call Send_Message(CtrlToTrack, "QUALIFY_EVENT", "0x115", 1)

The Sprezzatura Group

World Leaders in all things RevSoft


At 12 MAR 2001 03:22PM Robert Lee wrote:

Ok, I'm impressed.

May I ask where one acquires such hexadecimal saviours? Presumably one doesn't use trial and error because by my calculations that would have taken you :-

1 x 256=256

1 x 16= 16

5 x 1= 5

        277 attempts to guess right.

Which at the rate of 1 per minute would amount to about four and a half hours work.

There must be a quicker way…


At 12 MAR 2001 03:26PM Robert Lee wrote:

And now for a word to our sponsors…

Please feel free to participate in our online discussions.


At 12 MAR 2001 03:30PM [url=http://www.sprezzatura.com" onMouseOver=window.status=Click here to visit our web site?';return(true)]The Sprezzatura Group[/url] wrote:

Whilst you could use the Windows SDK we tend to favour the use of tools such as SPY++ or spyguru to do our legwork for us.

The Sprezzatura Group

World Leaders in all things RevSoft


At 12 MAR 2001 04:41PM b cameron wrote:

So what comes after adding the Qualify to the create event of the form? If I have several listboxes next to each other and I set the vscroll on in the last one (on the right); what event do I put the

  WINMSG(CtrlEntID, CtrlClassID, hWnd, Message, wParam, lParam)

line in? What would the other variables/arguements in this statement be? How would I control the other listboxes movement(those to the left that don't have a scroll bar)?

Am I asking for too much here?


At 12 MAR 2001 05:15PM Don Miller wrote:

Sprezz..

Grand link to SpyGuru! TAL

Don M.


At 12 MAR 2001 05:23PM Mike Ruane wrote:

You guys are doing very well on your own…

We pretty much follow every thread, same as many of you guys do.

Right now we're really concentrating on the OI 3.7.4 release. It has bug fixes, improved HTML generation, XML routines, and a number of 32-bit functions- File Open and Save, ChooseDir, Printer Setup, Printer Info, Choose Color, GetDriveFreespace, GetNetworkInfo, and more. We also released all the source code we used to get this functionality.

There's actually so much available we're trying to pick out just the best for this release. It will be available to all works members as a part of their annual works subscription. It will be released on or about Friday, March 23rd.

Mike


At 12 MAR 2001 09:52PM Robert Lee wrote:

Thanks a lot Sprezz. That is a seriously cool tool.


At 13 MAR 2001 04:16AM [url=http://www.sprezzatura.com" onMouseOver=window.status=Click here to visit our web site?';return(true)]The Sprezzatura Group[/url] wrote:

Once you've qualified an event for an object then the said object will receive a WINMSG event whenever appropriate. In your case you'll have to handle the WINMSG event in your listbox.

In a WINMSG event you'll always get 4 params passed which map into the Windows message structure.

param1 -] hwnd: This the the handle of the control receiving the event. In this case it's the handle of your Listbox.

param2 -] msg: This is message ID of the of the message you're receiving. Useful if you need to respond to different messages within the same WINMSG event.

param3 -] wParam: This is a 16-bit integer ( actually a WORD in C programming ) that contains some information specific to the message handled. In the case of a VSCROLL event it indicates what the user is doing:

SB_BOTTOM (7): Scrolls to the lower right

SB_ENDSCROLL (8): Ends scroll

SB_LINEDOWN (1): Scrolls one line down

SB_LINEUP (0): Scrolls one line up

SB_PAGEDOWN (3): Scrolls one page down

SB_PAGEUP (2): Scrolls one page up

SB_THUMBPOSITION (4): The user has dragged the scroll box (thumb) and released the mouse button. The nPos parameter indicates the position of the scroll box at the end of the drag operation.

SB_THUMBTRACK (5): The user is dragging the scroll box. This message is sent repeatedly until the user releases the mouse button. The nPos parameter indicates the position that the scroll box has been dragged to.

SB_TOP (6): Scrolls to the upper left

param4 -] lParam: This is a 32-bit ( AKA LONG ) integer that contains some information specific to the message handled. In a WM_VSCROLL message this is a little more complicated as the 32-bit number actually represents 2 16-bit numbers ( a LOWORD and a HIWORD )

The LOWORD of lParam specifies the current position of the scroll box if wParam is SB_THUMBPOSITION or SB_THUMBTRACK, otherwise it isn't used.

The HIWORD of lParam identified the control (it's a window handle) if the VSCROLL event is sent by a scroll bar, otherwise it's not used.

The Sprezzatura Group

World Leaders in all things RevSoft


At 13 MAR 2001 04:51AM Oystein Reigem wrote:

Bruce,

So what comes after adding the Qualify to the create event of the form? If I have several listboxes next to each other and I set the vscroll on in the last one (on the right); what event do I put theWINMSG(CtrlEntID, CtrlClassID, hWnd, Message, wParam, lParam) line in?

In general: In the CREATE handler of the window you qualify events for one or more controls. Then you put the appropriate programming in the WINMSG events of those controls.

E.g, let's say you qualify your list box LISTBOX_5 for WM_VSCROLL like thus:

equate WM_VSCROLL$ to "0x115"

UnUsed=Send_Message(@Window:".LISTBOX_5", "QUALIFY_EVENT", WM_VSCROLL$, 1)

Then you must put something like the following in the WINMSG event of LISTBOX_5:

equate WM_VSCROLL$ to "0x115"

begin case

case Message=WM_VSCROLL$

…extract necessary parameters from lParam and wParam…

…do stuff…

case … * other messages you might have qualified

end case

Exactly what's in lParam and wParam differs from message to message. Run it with the debugger a few times and see.

What would the other variables/arguements in this statement be? How would I control the other listboxes movement(those to the left that don't have a scroll bar)?

TOPPOS, and perhaps SELPOS.

Am I asking for too much here?

What's this list for anyway?

- Oystein -


At 13 MAR 2001 09:43PM b cameron wrote:

Rock on Oy!

Thank you!


At 13 MAR 2001 09:45PM b cameron wrote:

Very, very, very, niccceee. Thank you.


At 13 MAR 2001 10:21PM Barry Stevens wrote:

]]and a number of 32-bit functions«

YIPEE!!


At 13 MAR 2001 10:23PM Barry Stevens wrote:

]]and a number of 32-bit functions)


At 14 MAR 2001 04:19PM Robert Lee wrote:

]]param3 -] wParam: This is a 16-bit integer ( actually a WORD in C programming ) that contains some information specific to the message handled. In the case of a VSCROLL event it indicates what the user is doing:«

Thank you Sprezz, this is very interesting. We do we find this information for all the other messages?

View this thread on the forum...

  • third_party_content/community/commentary/forums_nonworks/c0ad550dc3ad995a85256a090070ad04.txt
  • Last modified: 2023/12/28 07:40
  • by 127.0.0.1