1. SetScrollPos
- Posted by =?iso-8859-2?B?qWtvZGE=?= <tone.skoda at SIOL.NET> May 30, 2000
- 453 views
------=_NextPart_000_000C_01BFCA6A.9F61E3C0 charset="iso-8859-2" Content-Transfer-Encoding: quoted-printable I created window with style WS_VSCROLL. When it receives message WM_VSCROLL I want to set position of thumb box = of scrollbar with this function: SetScrollPos(hwnd,SB_VERT,50,1) -hwnd=3Dwindow that received message ,but it doesnt work, neither does this work: SendMessage(hwnd, TBM_SETPOS, true, 10 ) Any suggestions? ------=_NextPart_000_000C_01BFCA6A.9F61E3C0 charset="iso-8859-2" Content-Transfer-Encoding: quoted-printable <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD> <META content=3D"text/html; charset=3Diso-8859-2" = http-equiv=3DContent-Type> <META content=3D"MSHTML 5.00.2614.3401" name=3DGENERATOR> <STYLE></STYLE> </HEAD> <BODY bgColor=3D#ffffff> <DIV><FONT face=3D"Lucida Casual" size=3D2> <DIV>I created window with style WS_VSCROLL.</DIV> <DIV>When it receives message WM_VSCROLL I want to set position of thumb = box of=20 scrollbar with this function:</DIV> <DIV>SetScrollPos(hwnd,SB_VERT,50,1)</DIV> <DIV> -hwnd=3Dwindow that received message</DIV> <DIV> </DIV> <DIV>,but it doesnt work, neither does this work:</DIV> <DIV>SendMessage(hwnd, TBM_SETPOS, true, 10 )</DIV> <DIV> </DIV> ------=_NextPart_000_000C_01BFCA6A.9F61E3C0--
2. Re: SetScrollPos
- Posted by Brian Broker <bkb at CNW.COM> May 30, 2000
- 438 views
On Tue, 30 May 2000 19:09:47 +0200, <tone.skoda at SIOL.NET> wrote: >I created window with style WS_VSCROLL. >When it receives message WM_VSCROLL I want to set position of thumb box of >scrollbar with this function: >SetScrollPos(hwnd,SB_VERT,50,1) > -hwnd=window that received message > >,but it doesnt work, neither does this work: >SendMessage(hwnd, TBM_SETPOS, true, 10 ) > >Any suggestions? At one time I, myself, asked: > If I create a window with a vertical scrollbar > (WS_VSCROLL), am I able to use it? How do I get > it's handle? To which David Cuny replied: These aren't wrapped in a nice sort of way. You have to trap the events yourself, using onEvent. The scrollbar is an attribute of the window, not a seperate control. You can get the handle of the window using getHandle(). -------------------- I never did do anything with this advice because at the time I was quite a novice at Win32 programming. But now I could probably code up an example if you still can't figure it out... -- Brian
3. Re: SetScrollPos
- Posted by wolfgang fritz <wolfritz at KING.IGS.NET> May 30, 2000
- 430 views
I don't know if you're trying this with win32lib, but if function GetScrollPosition() ended with: -- NEW! 0.50c elsif window_type[ id ] = ProgressBar then return sendMessage( id, PBM_GETPOS, 0, 0 ) else return -1 ---*** added line here !!! end if end function ... it should work OK. Wolf ---------- From: ©koda <tone.skoda at SIOL.NET>
4. Re: SetScrollPos
- Posted by wolfgang fritz <wolfritz at KING.IGS.NET> May 30, 2000
- 452 views
Here's an example that will work *IF* win32lib is patched the way I suggested in my previous posting. include win32lib.ew object junk constant win1=create(Window,"hello",0,10,10,200,200, or_all({WS_TILEDWINDOW,WS_VSCROLL})) procedure ok(atom event,atom wParam,atom lParam) if event=WM_VSCROLL then end if end procedure onEvent[win1]=routine_id("ok") WinMain(win1,Normal)
5. Re: SetScrollPos
- Posted by Brian Broker <bkb at CNW.COM> May 30, 2000
- 437 views
- Last edited May 31, 2000
On Tue, 30 May 2000 19:35:24 -0400, wolfgang fritz wrote: >I don't know if you're trying this with win32lib, but if function >GetScrollPosition() ended with: > >-- NEW! 0.50c > elsif window_type[ id ] = ProgressBar then > > return sendMessage( id, PBM_GETPOS, 0, 0 ) > > else return -1 ---*** added line here !!! > > end if > >end function > >... it should work OK. > >Wolf Thanks for the patch, Wolf. I was trying to do an example and just couldn't figure out what the heck was going on (I got different behavior from version .44, .45 and .50). Version .45r was giving me the divide by zero in getScrollPosition and version .50c was giving me a 'function must return a value' error. ...and you provided the example on top of it!!! Kudos... -- Brian
6. Re: SetScrollPos
- Posted by =?iso-8859-2?B?qWtvZGE=?= <tone.skoda at SIOL.NET> May 31, 2000
- 446 views
I am not using Win32Lib, but your example is very useful. In my program it still doesn't work. It's not in WinProc in Win32Lib, cause it does nothing! I set another procedure for window with SetWinowLong and it worked, so the problem must be in window creation. We don't need SetScrollRange or SetScrollInfo. I really don't know where the problem is. For 2 hours I have been exploring Win32Lib and havent found where it does that magic trick that makes the scroll box move! Could you do an example from the ground, creating your class for window and your window, with xCreateWindow, and your own WndProc?
7. Re: SetScrollPos
- Posted by Bernie Ryan <xotron at BUFFNET.NET> May 31, 2000
- 441 views
Make sure last parameter in SetScrollPos function for redrawing thumb ( bRedraw ) has been set TRUE