Scroll Bars to be reset

Hello All,
In my application, the user enters customer no and obtains the list of materials in the next view. The list is displayed in a table with scroll bars.
If the user scroll the tabel and then goes back to entry screen and provides another entry then the material table scroll bar is pulled down or middle( depending on the state of scroll bar for the previous material).
Now, I would liek to reset the scroll bar to top of the table. How do i do that?
Thank you,.
Regards,
Sharath

hi, Sharath.
Have you try to use "CL_WD_TABLE" object in WdDoModify  method of View?
data: lo_table  type ref to CL_WD_TABLE.
lo_table ?= view->get_element( 'table name' ).
You can look for the desired method in SE24 of this class CL_WD_TABLE directly.
There are many methods.(Sorry, i have not tried anyone..Just one my suggestion..Anyway, you can try..).
Best wishes.

Similar Messages

  • How do I reset a scroll bar in a table?

    I have a table that fills up and the scroll bar becomes active in my application. When I start the test over I want to automatically go back to the top of the table as if I scrolled up using the scrollbar. Is there any way to do this? I have been messing with the property nodes and can't seem to find a solution. I am already emptying the table on startup but I cannot get the scroll bar to go back up to the top of the table to see the first few lines of data without doing it manually.

    Use the "Index Value" property. It is the (Row, Col) index of the cell to be displayed in the top left corner of the table.
    =====================================================
    Fading out. " ... J. Arthur Rank on gong."

  • On the right side of the br5owser there is a scroll bar, that scroll bar does not have any contrast and is almost invisible, can't find it ???

    Have seen some other questions similar to mine and they may be about same issue , but they say that the scroll bar vanishes, in effect it is still there but nearly invisible. Trying to click on it without knowing the exact location however causes the page to scroll uncontrolled. The other questions advised people to reset their browser to default but that didn't help at all. Have had this same issue for about the last 6 versions of firefox, all say in the 30s versions. Tried adding high contrast in Windows as an experiment but that didn't help at all either. Been trying help for some time and just now decided to ask my own question as other questioners may have given up or answerers may think it is resolved.
    In searching through help files it has led me to find a space based theme for the browser that I enjoy, but does not solve issue of course, so... all is not lost. Took a jpg of the image of the browser that shows the issue and am trying to upload it but looks like it is stuck in upload mode. Ugh "high speed" , anyhow maybe it uploaded and is not showing, the bar on the right is about 3/4 of the way down the side if you can see it, almost invisible.

    Did you try Firefox Safe Mode?

  • Scroll bar within e-mails

    Dear all,
    I'm working with e-mail activities in SAP CRM 7.1.3. Can anybody help with the problem described below?
    Within e-mail activity screen, the section related to body has a certain height and in case a long e-mail is written, a scroll bar is used for readying the e-mail content.
    Let's assume we are reading the all e-mail, scrolling down the bar, and then we decide to update a business partner in the activity header, based on info described in the body (e.g. in the signature). By standard, as soon as we click on F4 help for field contact person in the header (i.e. to trigger the popup for partner search), the system automatically resets the scrollbar in the body to the top, therefore we have no longer visibility on the bottom part of the e-mail (also considering the fact that until the popup is open, we can't scroll down anymore).
    I'd like to adjust the code in order to prevent such automatic scrolling up of the bar, but I've not been able to identify the point of intervention, yet.
    Does anyboby have experience with this?
    I'll reward points in case you can help!
    Thanks and Regards,
    Andrea Ricci

    Go to System Preferences > General and choose to always show it:

  • Cover Flow Scroll Bar is Blurry

    Hey,
    In cover flow, I notice that the scroll bar is blurry. I've found a temporary fix for it by resizing the cover flow window which resets the horizontal scroll bar to a clear, crisp image. However, as soon as you go back to whatever source (Libary, or any of my playlists) you were originally in, the scroll bar appears blurry again.
    Does anyone else have this problem, and know a way to fix it?

    It happened to me too, right after I went into full screen mode and scrolled. It was fine before that. Here's a screenshot: http://i38.photobucket.com/albums/e135/aqua-star/Picture4.png

  • Horizontal Scroll Bar Disappeared in Web Report(BW 7)

    Hi All,
    We have just upgraded one of our Developement BW system from 3.5 to Netweaver 2004s, with support pack 7.
    After running our query in Web, we have found that all our reports has no horizontal scroll bar to display the query column. This  in turn pushes the corresponding Chart to theleft extreme of the viewing area.  
    I have tried to reset the web item properities of the table , but no help.                                                 I have compared the web item properities for the  table in the system where upgrade has not been applied yet. It is same.Scoll bar does appear in BW system where there is no upgrade.
    I have searched the OSS for answer, but did not find any answer.
    Did anybody face this issue after upgrade to BIW 7 ?
    Our WAD is ver. 3.5 Final release.
    Your response is highly appreciated .

    Here is the code
    Classes for paging area *******/      
    .SAPBEXScrollVert     {
         font-family:Arial,sans-serif;
         background-color:#ffffff;
         color:#000000;
         font-style:normal;
         font-weight:normal;
         font-size:71%;               
         text-align:left;
         margin:0 1px 0 1px;
         padding:1px 3px 1px 3px;
    .SAPBEXScrollHor     {
         font-family:Arial,sans-serif;
         background-color:#ffffff;
         color:#000000;
         font-style:normal;
         font-weight:normal;
         font-size:71%;               
         text-align:right;
         margin:0 1px 0 1px;
         padding:1px 3px 1px 3px;

  • Scroll Bar Controlling multiple movieclips?

    Instead of a scroll bar just controlling one movieclip..How could we get it to control multiple movieclips?
    public class MainScroll extends Sprite
              //private var mc_content:Sprite;
              private var content_mc:MovieClip;
              private var content2_mc:MovieClip;
              private var _scrollBar:FullScreenScrollBar;
              //============================================================================================================================
              public function MainScroll()
              //============================================================================================================================
                   addEventListener(Event.ADDED_TO_STAGE, onAddedToStage, false, 0, true);
              //============================================================================================================================
              private function init():void
              //============================================================================================================================
                   SWFWheel.initialize(stage);
                   //_copy = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque quam leo semper non sollicitudin in eleifend sit amet diam. "; 
                   content_mc = new mc_content();
                   content2_mc = new mc_content2();
                   content_mc.x = 110;
                   content_mc.y = 29;
                   content2_mc.x = 10
                   content2_mc.y = 29
                   addChild(content_mc);
                   addChild(content2_mc);
                   // Scrollbar code 
                   // Arguments: Content to scroll, track color, grabber color, grabber press color, grip color, track thickness, grabber thickness, ease amount, whether grabber is "shiny"
                   _scrollBar = new FullScreenScrollBar(content_mc, 0x000000, 0x408740, 0x73C35B, 0xffffff, 15, 15, 4, true);
                   addChild(_scrollBar);
              //============================================================================================================================
              private function onAddedToStage(e:Event):void
              //============================================================================================================================
                   init();
                   removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);

    Ok,
    Here is that code:
         import flash.display.*
         import flash.events.*;
         import flash.geom.Rectangle;
         import gs.OverwriteManager;
         import gs.TweenFilterLite;
         public class FullScreenScrollBar extends Sprite
              private var _content:DisplayObjectContainer;
              private var _trackColor:uint;
              private var _grabberColor:uint;
              private var _grabberPressColor:uint;
              private var _gripColor:uint;
              private var _trackThickness:int;
              private var _grabberThickness:int;
              private var _easeAmount:int;
              private var _hasShine:Boolean;
              private var _track:Sprite;
              private var _grabber:Sprite;
              private var _grabberGrip:Sprite;
              private var _grabberArrow1:Sprite;
              private var _grabberArrow2:Sprite;
              private var _tH:Number; // Track height
              private var _cH:Number; // Content height
              private var _scrollValue:Number;
              private var _defaultPosition:Number;
              private var _stageW:Number;
              private var _stageH:Number;
              private var _pressed:Boolean = false;
              //============================================================================================================================
              public function FullScreenScrollBar(c:DisplayObjectContainer, tc:uint, gc:uint, gpc:uint, grip:uint, tt:int, gt:int, ea:int, hs:Boolean)
              //============================================================================================================================
                   _content = c;
                   _trackColor = tc;
                   _grabberColor = gc;
                   _grabberPressColor = gpc;
                   _gripColor = grip;
                   _trackThickness = tt;
                   _grabberThickness = gt;
                   _easeAmount = ea;
                   _hasShine = hs;
                   init();
                   OverwriteManager.init();
              //============================================================================================================================
              private function init():void
              //============================================================================================================================
                   createTrack();
                   createGrabber();
                   createGrips();
                   addEventListener(Event.ADDED_TO_STAGE, onAddedToStage, false, 0, true);
                   _defaultPosition = Math.round(_content.y);
                   _grabber.y = 0;
              //============================================================================================================================
              public function kill():void
              //============================================================================================================================
                   stage.removeEventListener(Event.RESIZE, onStageResize);
              //============================================================================================================================
              private function stopScroll(e:Event):void
              //============================================================================================================================
                   onUpListener();
              //============================================================================================================================
              private function scrollContent(e:Event):void
              //============================================================================================================================
                   var ty:Number;
                   var dist:Number;
                   var moveAmount:Number;
                   ty = -((_cH - _tH) * (_grabber.y / _scrollValue));
                   dist = ty - _content.y + _defaultPosition;
                   moveAmount = dist / _easeAmount;
                   _content.y += Math.round(moveAmount);
                   if (Math.abs(_content.y - ty - _defaultPosition) < 1.5)
                        _grabber.removeEventListener(Event.ENTER_FRAME, scrollContent);
                        _content.y = Math.round(ty) + _defaultPosition;
                   positionGrips();
              //============================================================================================================================
              public function adjustSize():void
              //============================================================================================================================
                   this.x = _stageW - _trackThickness;
                   _track.height = _stageH;
                   _track.y = 0;
                   _tH = _track.height;
                   _cH = _content.height + _defaultPosition;
                   // Set height of grabber relative to how much content
                   _grabber.getChildByName("bg").height = Math.ceil((_tH / _cH) * _tH);
                   // Set minimum size for grabber
                   if(_grabber.getChildByName("bg").height < 35) _grabber.getChildByName("bg").height = 35;
                   if(_hasShine) _grabber.getChildByName("shine").height = _grabber.getChildByName("bg").height;
                   // If scroller is taller than stage height, set its y position to the very bottom
                   if ((_grabber.y + _grabber.getChildByName("bg").height) > _tH) _grabber.y = _tH - _grabber.getChildByName("bg").height;
                   // If content height is less than stage height, set the scroller y position to 0, otherwise keep it the same
                   _grabber.y = (_cH < _tH) ? 0 : _grabber.y;
                   // If content height is greater than the stage height, show it, otherwise hide it
                   this.visible = (_cH + 8 > _tH);
                   // Distance left to scroll
                   _scrollValue = _tH - _grabber.getChildByName("bg").height;
                   _content.y = Math.round(-((_cH - _tH) * (_grabber.y / _scrollValue)) + _defaultPosition);
                   positionGrips();
                   if(_content.height < stage.stageHeight) { stage.removeEventListener(MouseEvent.MOUSE_WHEEL, mouseWheelListener); } else { stage.addEventListener(MouseEvent.MOUSE_WHEEL, mouseWheelListener); }
              //============================================================================================================================
              private function positionGrips():void
              //============================================================================================================================
                   _grabberGrip.y = Math.ceil(_grabber.getChildByName("bg").y + (_grabber.getChildByName("bg").height / 2) - (_grabberGrip.height / 2));
                   _grabberArrow1.y = _grabber.getChildByName("bg").y + 8;
                   _grabberArrow2.y = _grabber.getChildByName("bg").height - 8;
              //============================================================================================================================
              // CREATORS
              //============================================================================================================================
              //============================================================================================================================
              private function createTrack():void
              //============================================================================================================================
                   _track = new Sprite();
                   var t:Sprite = new Sprite();
                   t.graphics.beginFill(_trackColor);
                   t.graphics.drawRect(0, 0, _trackThickness, _trackThickness);
                   t.graphics.endFill();
                   _track.addChild(t);
                   addChild(_track);
              //============================================================================================================================
              private function createGrabber():void
              //============================================================================================================================
                   _grabber = new Sprite();
                   var t:Sprite = new Sprite();
                   t.graphics.beginFill(_grabberColor);
                   t.graphics.drawRect(0, 0, _grabberThickness, _grabberThickness);
                   t.graphics.endFill();
                   t.name = "bg";
                   _grabber.addChild(t);
                   if(_hasShine)
                        var shine:Sprite = new Sprite();
                        var sg:Graphics = shine.graphics;
                        sg.beginFill(0xffffff, 0.15);
                        sg.drawRect(0, 0, Math.ceil(_trackThickness/2), _trackThickness);
                        sg.endFill();
                        shine.x = Math.floor(_trackThickness/2);
                        shine.name = "shine";
                        _grabber.addChild(shine);
                   addChild(_grabber);
              //============================================================================================================================
              private function createGrips():void
              //============================================================================================================================
                   _grabberGrip = createGrabberGrip();
                   _grabber.addChild(_grabberGrip);
                   _grabberArrow1 = createPixelArrow();
                   _grabber.addChild(_grabberArrow1);
                   _grabberArrow2 = createPixelArrow();
                   _grabber.addChild(_grabberArrow2);
                   _grabberArrow1.rotation = -90;
                   _grabberArrow1.x = ((_grabberThickness - 7) / 2) + 1;
                   _grabberArrow2.rotation = 90;
                   _grabberArrow2.x = ((_grabberThickness - 7) / 2) + 6;
              //============================================================================================================================
              private function createGrabberGrip():Sprite
              //============================================================================================================================
                   var w:int = 7;
                   var xp:int = (_grabberThickness - w) / 2;
                   var t:Sprite = new Sprite();
                   t.graphics.beginFill(_gripColor, 1);
                   t.graphics.drawRect(xp, 0, w, 1);
                   t.graphics.drawRect(xp, 0 + 2, w, 1);
                   t.graphics.drawRect(xp, 0 + 4, w, 1);
                   t.graphics.drawRect(xp, 0 + 6, w, 1);
                   t.graphics.drawRect(xp, 0 + 8, w, 1);
                   t.graphics.endFill();
                   return t;
              //============================================================================================================================
              private function createPixelArrow():Sprite
              //============================================================================================================================
                   var t:Sprite = new Sprite();               
                   t.graphics.beginFill(_gripColor, 1);
                   t.graphics.drawRect(0, 0, 1, 1);
                   t.graphics.drawRect(1, 1, 1, 1);
                   t.graphics.drawRect(2, 2, 1, 1);
                   t.graphics.drawRect(1, 3, 1, 1);
                   t.graphics.drawRect(0, 4, 1, 1);
                   t.graphics.endFill();
                   return t;
              //============================================================================================================================
              // LISTENERS
              //============================================================================================================================
              //============================================================================================================================
              private function mouseWheelListener(me:MouseEvent):void
              //============================================================================================================================
                   var d:Number = me.delta;
                   if (d > 0)
                        if ((_grabber.y - (d * 4)) >= 0)
                             _grabber.y -= d * 4;
                        else
                             _grabber.y = 0;
                        if (!_grabber.willTrigger(Event.ENTER_FRAME)) _grabber.addEventListener(Event.ENTER_FRAME, scrollContent);
                   else
                        if (((_grabber.y + _grabber.height) + (Math.abs(d) * 4)) <= stage.stageHeight)
                             _grabber.y += Math.abs(d) * 4;
                        else
                             _grabber.y = stage.stageHeight - _grabber.height;
                        if (!_grabber.willTrigger(Event.ENTER_FRAME)) _grabber.addEventListener(Event.ENTER_FRAME, scrollContent);
              //============================================================================================================================
              private function onDownListener(e:MouseEvent):void
              //============================================================================================================================
                   _pressed = true;
                   _grabber.startDrag(false, new Rectangle(0, 0, 0, _stageH - _grabber.getChildByName("bg").height));
                   stage.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMoveListener, false, 0, true);
                   TweenFilterLite.to(_grabber.getChildByName("bg"), 0.5, { tint:_grabberPressColor } );
              //============================================================================================================================
              private function onUpListener(e:MouseEvent = null):void
              //============================================================================================================================
                   if (_pressed)
                        _pressed = false;
                        _grabber.stopDrag();
                        stage.removeEventListener(MouseEvent.MOUSE_MOVE, onMouseMoveListener);
                        TweenFilterLite.to(_grabber.getChildByName("bg"), 0.5, { tint:null } );
              //============================================================================================================================
              private function onMouseMoveListener(e:MouseEvent):void
              //============================================================================================================================
                   e.updateAfterEvent();
                   if (!_grabber.willTrigger(Event.ENTER_FRAME)) _grabber.addEventListener(Event.ENTER_FRAME, scrollContent, false, 0, true);
              //============================================================================================================================
              private function onTrackClick(e:MouseEvent):void
              //============================================================================================================================
                   var p:int;
                   var s:int = 150;
                   p = Math.ceil(e.stageY);
                   if(p < _grabber.y)
                        if(_grabber.y < _grabber.height)
                             TweenFilterLite.to(_grabber, 0.5, {y:0, onComplete:reset, overwrite:1});
                        else
                             TweenFilterLite.to(_grabber, 0.5, {y:"-150", onComplete:reset});
                        if(_grabber.y < 0) _grabber.y = 0;
                   else
                        if((_grabber.y + _grabber.height) > (_stageH - _grabber.height))
                             TweenFilterLite.to(_grabber, 0.5, {y:_stageH - _grabber.height, onComplete:reset, overwrite:1});
                        else
                             TweenFilterLite.to(_grabber, 0.5, {y:"150", onComplete:reset});
                        if(_grabber.y + _grabber.getChildByName("bg").height > _track.height) _grabber.y = stage.stageHeight - _grabber.getChildByName("bg").height;
                   function reset():void
                        if(_grabber.y < 0) _grabber.y = 0;
                        if(_grabber.y + _grabber.getChildByName("bg").height > _track.height) _grabber.y = stage.stageHeight - _grabber.getChildByName("bg").height;
                   _grabber.addEventListener(Event.ENTER_FRAME, scrollContent, false, 0, true);
              //============================================================================================================================
              private function onAddedToStage(e:Event):void
              //============================================================================================================================
                   stage.addEventListener(Event.MOUSE_LEAVE, stopScroll);
                   stage.addEventListener(MouseEvent.MOUSE_WHEEL, mouseWheelListener);
                   stage.addEventListener(Event.RESIZE, onStageResize, false, 0, true);
                   stage.addEventListener(MouseEvent.MOUSE_UP, onUpListener, false, 0, true);
                   _grabber.addEventListener(MouseEvent.MOUSE_DOWN, onDownListener, false, 0, true);
                   _grabber.buttonMode = true;
                   _track.addEventListener(MouseEvent.CLICK, onTrackClick, false, 0, true);
                   removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
                   _stageW = stage.stageWidth;
                   _stageH = stage.stageHeight;
                   adjustSize();
              //============================================================================================================================
              private function onStageResize(e:Event):void
              //============================================================================================================================
                   _stageW = stage.stageWidth;
                   _stageH = stage.stageHeight;
                   adjustSize();

  • Scroll bar creation

    I am attempting to create a scroll bar for my text and am following the tutorial provided by Adobe.
    Problem: I am unable to select parts of the scroll bar (i.e. up arrow, bar, thumb) to convert their behaviour. I have followed the tutorial to the letter, but when it comes time to select each part of the scroll bar I only can select the entire scroll bar...not any one part.

    I've come to the same conclusion, it's the software.  I had the same results when I ran the project in IE.  It worked although the scroll bar was shorter than I had set it, but it worked.  When I tried to go back and reset the length, it stopped working.  I have shortened my text and reduced the font to make it fit without the scroll bar.
    There are a number of other odd things that happen.  After spending hours and hours on it, essentially testing the software, it's easy to come the conclusion of 'wonky' software.  I love the idea of Flash Catalyst and someday the bugs will be smoothed out, but until then...
    Bill Rankin
    Rankin Imagery Productions, Inc.
    Corporate ~ Weddings ~ Events 
    www.rankinimagery.com
    713-621-3384
    Click on the image below.

  • Text editing window expands instead of creating vertical scroll bar

    In the last few days, I have noticed that when I try to edit or post to Wordpress.com the vertical scroll bar no longer appears on the text editing box. Instead the box just gets progressively larger which makes it very difficult to get to other items on the WordPress editing screen, such as tags and categories. This problem seems to have arisen during the v31.0 auto-upgrade. Is anybody else having this issue and what steps can I take to solve it? (FYI, I tried modifying the setting described in another response about a similar issue using the about:config screen, with no success.)

    I don't know whether your dashboard has the "Visual" and "Text" buttons, but I believe the Visual uses CKEditor or another WYSIWYG editor and the Text editor might be a simpler design. Are both affected?
    I searched around to see whether I could find Wordpress.com support threads or other stories about it and I can't. So I'll fall back on some general suggestions:
    When you have a problem with one particular site, a good "first thing to try" is clearing your Firefox cache and deleting your saved cookies for the site.
    (1) Bypass Firefox's Cache
    Use Ctrl+Shift+r to reload the page fresh from the server.
    Alternately, you also can clear Firefox's cache completely using:
    "3-bar" menu button (or Tools menu) > Options > Advanced
    On the Network mini-tab > Cached Web Content : "Clear Now"
    If you have a large hard drive, this might take a few minutes.
    (2) Remove the site's cookies (save any pending work first). While viewing a page on the site:
    * right-click and choose View Page Info > Security > "View Cookies"
    * (menu bar) Tools menu) > Page Info > Security > "View Cookies"
    In the dialog that opens, you can remove WordPress.com cookies without affecting other sites.
    Then try reloading the page. Does that help?
    To rule out extensions as a possible culprit, could you try the site in Firefox's Safe Mode? That's a standard diagnostic tool to deactivate extensions, some advanced features, and some custom settings. More info: [[Troubleshoot Firefox issues using Safe Mode]].
    You can restart Firefox in Safe Mode using either
    * "3-bar" menu button > "?" button > Restart with Add-ons Disabled
    * (menu bar) Help menu > Restart with Add-ons Disabled
    Note: Flash and other plugins still run
    After Firefox closes, a small dialog should appear: click "Start in Safe Mode" (''not'' Reset)
    Any difference?

  • Scroll Bar Action

    Best explained by example:
    I have 2000 things of data that I need to populate to a table. This table is being refreshed every 5 seconds. You can imagine the slow down of having to do this. Now, I have method that will allow me to pull out only 25 at a time, and as needed. I want to set up a vertical scroll bar that will allow me to pull out the specific 25 based upon where the scroll bar is at. Like if I scroll half-way, it'll pull out 1000-1025 portions of data. The problem that I'm running into is that I can't get the scrolling to work properly. I've been using the:
    m_scrollPane.getVerticalScrollBar().setValues(cur_sel, DATABASE_SPACE, 0, tol_count);tol_count: how many is in the database total
    cur_sel: where the scroll bar is at currently
    DATABASE_SPACE: how many will populate (for this example, it's 25)
    Every time I attempt to scroll, it just resets back to 0, and doesn't even scroll down.
    Any and all ideas to help me with this problem would be great! Thanks

    Best explained by example:Actually its best explained by posting demo code. We can't tell what is going on based on a single line of code.
    I"ve had better luck using table.scrollRectToVisible(...);
    If you need further help then you need to create a [Short, Self Contained, Compilable and Executable, Example Program (SSCCE)|http://homepage1.nifty.com/algafield/sscce.html], that demonstrates the incorrect behaviour.
    Don't forget to use the [Code Formatting Tags|http://forum.java.sun.com/help.jspa?sec=formatting], so the posted code retains its original formatting.

  • Jdeveloper - af:table scroll bar disappearing/truncating

    Hello,
    I'm having some issues with an af:table bound to a view object. The table is displaying questions to be administered to students applying for a scholarship. New questions can be created via a popup.. new questions are committed when the user clicks a save button on the popup, and the table is refreshed.
    The edit question popup uses af:inputText components to record most of the information for the new question being created. In particular, there is a field called "Question Text" - the display text for the question - which we put a 1000 character limit on. When typing in characters, at a certain point a scroll bar appears on the inputText component. I've noticed that after adding a few questions with the max # of characters, if I add a question, the question text of which doesn't have the max # of characters (and thus has a smaller scroll bar on the inputText component of my edit question popup) when I return to the main table, I lose functionality on my table scroll bar!
    For example, any time I make 2 questions with 1000 characters, and then a 3rd question with only two lines of Question Text, the scroll bar on the main table disappears completely until refreshed.
    Another time, I made 4 questions with a couple lines of Question Text, then 5 questions (#'s 5-9) with 1000 characters in the question text, then 3 questions that had just enough text to trigger a scroll bar in the inputText component of the Edit Question popup. When I would return to the table after creating questions 10-12, the most recent question would be in view... but if I scrolled to the top of the table and back down, I could only scroll down to question #9.
    All of my created data IS there, and a refresh restores the functionality of the table scroll bar. But has anyone seen behavior like this or have any suggestions of table settings, or how to best return from the edit question pop up (maybe I should re-execute the table's VO and NOT try to maintain currency on the newly created row..?) that might fix this?
    I'm including the code for my table and popup below just so you can see their settings. Of course, the components involved in this issue are part of a much larger system, so if there isn't enough information in this post to address the issue and you need any specific information (code from a backing bean/action listener method, etc..) just let me know!
    Thanks for looking.
    <af:panelCollection featuresOff="detach"
    id="stuQPc"
    partialTriggers=":::delQBtn :::appQCSave :::appQCCancel :::appQuestionSaveBtn :::appQuestionCancelBtn">
    <f:facet name="menus"/>
    <f:facet name="toolbar">
    <af:toolbar id="t2">
    <af:outputText value="#{pageFlowScope.mtnAppBean.currentAppName}"
    id="ot20"/>
    <af:spacer width="10"
    height="10" id="s2"/>
    <af:commandToolbarButton text="Create Student Question"
    partialTriggers="stuQTbl"
    clientComponent="true"
    icon="/images/add-16x16.png"
    disabled="#{ pageFlowScope.mtnAppBean.currentAppId==null}"
    id="ctb3">
    <af:showPopupBehavior popupId=":::appQuestionsPopup"/>
    <af:clientAttribute name="csaIsMultiChoice"
    value="No"/>
    <af:clientAttribute name="csaIteratorBindingName"
    value="AppQuestionStudentRefVO1Iterator"/>
    <af:clientListener method="handleEvent"
    type="click"/>
    <af:serverListener type="csaCustomEvent"
    method="#{schlrAppRequestBean.createEntity}"/>
    </af:commandToolbarButton>
    <af:commandToolbarButton text="Reorder Questions"
    partialTriggers="stuQTbl"
    clientComponent="true"
    icon="/images/add-16x16.png"
    disabled="#{pageFlowScope.mtnAppBean.currentAppId==null}"
    id="studReorder">
    <af:showPopupBehavior popupId=":::studentReorderPopup"/>
    </af:commandToolbarButton>
    </af:toolbar>
    </f:facet>
    <f:facet name="statusbar"/>
    <af:table value="#{bindings.AppQuestionStudentRefVO1.collectionModel}"
    var="row"
    rows="#{bindings.AppQuestionStudentRefVO1.rangeSize}"
    emptyText="#{bindings.AppQuestionStudentRefVO1.viewable ? 'No rows yet.' : 'Access Denied.'}"
    fetchSize="#{bindings.AppQuestionStudentRefVO1.rangeSize}"
    selectedRowKeys="#{bindings.AppQuestionStudentRefVO1.collectionModel.selectedRow}"
    selectionListener="#{bindings.AppQuestionStudentRefVO1.collectionModel.makeCurrent}"
    rowSelection="single"
    id="stuQTbl"
    columnStretching="last"
    displayRow="selected">
    <af:column sortProperty="CsaAppQuestionId" sortable="true"
    headerText="#{bindings.AppQuestionStudentRefVO1.hints.CsaAppQuestionId.label}"
    id="c6"
    inlineStyle="vertical-align:top;">
    <af:outputText value="#{row.bindings.CsaAppQuestionId.inputValue}"
    id="ot21"
    inlineStyle="vertical-align:top;">
    <af:convertNumber groupingUsed="false"
    pattern="#{bindings.AppQuestionStudentRefVO1.hints.CsaAppQuestionId.format}"/>
    </af:outputText>
    </af:column>
    <af:column sortProperty="QuestionSeqNumber" sortable="true"
    headerText="#{bindings.AppQuestionStudentRefVO1.hints.QuestionSeqNumber.label}"
    id="c7"
    inlineStyle="vertical-align:top;">
    <af:outputText value="#{row.bindings.QuestionSeqNumber.inputValue}"
    id="ot22"
    inlineStyle="vertical-align:top;">
    <af:convertNumber groupingUsed="false"
    pattern="#{bindings.AppQuestionStudentRefVO1.hints.QuestionSeqNumber.format}"/>
    </af:outputText>
    </af:column>
    <af:column sortProperty="QuestionText" sortable="true"
    headerText="#{bindings.AppQuestionStudentRefVO1.hints.QuestionText.label}"
    noWrap="false"
    width="210"
    headerNoWrap="false"
    id="c8"
    inlineStyle="vertical-align:top;">
    <af:outputText value="#{row.bindings.QuestionText.inputValue}"
    escape="false" converter="hyperlinkConverter"
    id="ot23"
    inlineStyle="vertical-align:top;"/>
    </af:column>
    <af:column sortProperty="NumberWordsInResponse" sortable="true"
    headerText="#{bindings.AppQuestionStudentRefVO1.hints.NumberWordsInResponse.label}"
    id="c9"
    inlineStyle="vertical-align:top;">
    <af:outputText value="#{row.bindings.NumberWordsInResponse.inputValue}"
    rendered="#{row.bindings.QuestionType.attribute == '2017'}"
    id="ot24"
    inlineStyle="vertical-align:top;">
    <af:convertNumber groupingUsed="false"
    pattern="#{bindings.AppQuestionStudentRefVO1.hints.NumberWordsInResponse.format}"/>
    </af:outputText>
    </af:column>
    <af:column sortProperty="ResponseRequireDisplayText"
    sortable="true"
    headerText="#{bindings.AppQuestionStudentRefVO1.hints.ResponseRequireDisplayText.label}"
    id="c10"
    inlineStyle="vertical-align:top;">
    <af:outputText value="#{row.bindings.ResponseRequireDisplayText.inputValue}"
    id="ot25"
    inlineStyle="vertical-align:top;"/>
    </af:column>
    <af:column headerText="" id="c11"
    inlineStyle="vertical-align:top;">
    <af:panelGroupLayout layout="horizontal"
    id="pgl2"
    valign="top">
    <af:commandButton text="Edit"
    icon="/images/edit-16x16.png" id="editQ">
    <af:showPopupBehavior popupId="::::appQuestionsPopup"/>
    <af:clientAttribute name="csaIteratorBindingName"
    value="AppQuestionStudentRefVO1Iterator"/>
    <af:clientListener type="click" method="handleEvent"/>
    <af:serverListener method="#{schlrAppRequestBean.editClicked}"
    type="csaCustomEvent"/>
    </af:commandButton>
    <af:commandButton text="Delete"
    icon="/images/delete-16x16.png"
    id="cb6">
    <af:showPopupBehavior
    triggerType="action"
    popupId="::::qdelpu"/>
    <af:clientAttribute value="AppQuestionStudentRefVO1Iterator"
    name="csaIteratorBindingName"/>
    <af:clientListener method="handleEvent" type="click"/>
    <af:serverListener method="#{schlrAppRequestBean.prepareForDelete}"
    type="csaCustomEvent"/>
    </af:commandButton>
    <af:commandButton text=" Edit Choices "
    rendered="#{row.QuestionType != '2017'}"
    id="cb7">
    <af:showPopupBehavior popupId="::::appQuestionChoice"/>
    <af:clientAttribute name="csaIteratorBindingName"
    value="AppQuestionStudentRefVO1Iterator"/>
    <af:clientListener type="click" method="handleEvent"/>
    <af:serverListener method="#{schlrAppRequestBean.editClicked}"
    type="csaCustomEvent"/>
    </af:commandButton>
    </af:panelGroupLayout>
    </af:column>
    </af:table>
    </af:panelCollection>
    <af:popup id="appQuestionsPopup"
    partialTriggers="tmplt:stuQPc"
    contentDelivery="lazyUncached">
    <af:dialog title="Student Question" type="none"
    partialTriggers="appQuestionCancelBtn"
    closeIconVisible="false" id="d8">
    <f:facet name="buttonBar">
    <af:panelGroupLayout layout="horizontal" halign="center"
    id="pgl16">
    <af:commandButton text="Save"
    actionListener="#{schlrAppRequestBean.saveAppQuestion}"
    id="appQuestionSaveBtn"
    partialSubmit="true"/>
    <af:commandButton text="Cancel"
    id="appQuestionCancelBtn"
    actionListener="#{schlrAppRequestBean.cancelPopup}"
    immediate="true"
    clientComponent="true"
    partialSubmit="true">
    <af:resetActionListener/>
    </af:commandButton>
    </af:panelGroupLayout>
    </f:facet>
    <af:panelFormLayout id="pfl2">
    <af:inputText value="#{bindings.AppName.inputValue}"
    label="#{bindings.AppName.hints.label}"
    required="#{bindings.AppName.hints.mandatory}"
    columns="#{bindings.AppName.hints.displayWidth}"
    maximumLength="#{bindings.AppName.hints.precision}"
    shortDesc="#{bindings.AppName.hints.tooltip}"
    id="it11">
    <f:validator binding="#{bindings.AppName.validator}"/>
    </af:inputText>
    <af:inputText value="#{bindings.CsaAppQuestionId.inputValue}"
    label="#{bindings.CsaAppQuestionId.hints.label}"
    required="#{bindings.CsaAppQuestionId.hints.mandatory}"
    columns="#{bindings.CsaAppQuestionId.hints.displayWidth}"
    maximumLength="#{bindings.CsaAppQuestionId.hints.precision}"
    shortDesc="#{bindings.CsaAppQuestionId.hints.tooltip}"
    readOnly="true" id="it12">
    <f:validator binding="#{bindings.CsaAppQuestionId.validator}"/>
    <af:convertNumber groupingUsed="false"
    pattern="#{bindings.CsaAppQuestionId.format}"/>
    </af:inputText>
    <af:inputText value="#{bindings.QuestionSeqNumber.inputValue}"
    label="#{bindings.QuestionSeqNumber.hints.label}"
    required="#{bindings.QuestionSeqNumber.hints.mandatory}"
    columns="#{bindings.QuestionSeqNumber.hints.displayWidth}"
    maximumLength="#{bindings.QuestionSeqNumber.hints.precision}"
    shortDesc="Order in which question will be displayed to applicant "
    id="it13">
    <f:validator binding="#{bindings.QuestionSeqNumber.validator}"/>
    <af:convertNumber groupingUsed="false"
    pattern="#{bindings.QuestionSeqNumber.format}"/>
    </af:inputText>
    <af:inputText value="#{bindings.NumberWordsInResponse.inputValue}"
    label="#{bindings.NumberWordsInResponse.hints.label}"
    required="#{bindings.NumberWordsInResponse.hints.mandatory}"
    columns="#{bindings.NumberWordsInResponse.hints.displayWidth}"
    maximumLength="#{bindings.NumberWordsInResponse.hints.precision}"
    shortDesc="Maximum number of words allowed in the response "
    disabled="#{bindings.QuestionType.attribute != '2017'}"
    partialTriggers="questionTypeId" id="it14">
    <f:validator binding="#{bindings.NumberWordsInResponse.validator}"/>
    <af:convertNumber groupingUsed="false"
    pattern="#{bindings.NumberWordsInResponse.format}"/>
    </af:inputText>
    <af:inputText value="#{bindings.QuestionText.inputValue}"
    label="#{bindings.QuestionText.hints.label}"
    required="#{bindings.QuestionText.hints.mandatory}"
    columns="60"
    maximumLength="#{bindings.QuestionText.hints.precision}"
    shortDesc="Verbiage of question " rows="6"
    id="it15">
    <f:validator binding="#{bindings.QuestionText.validator}"/>
    </af:inputText>
    <af:panelLabelAndMessage label="#{bindings.ResponseRequire.label}"
    showRequired="false" id="plam22">
    <af:panelGroupLayout layout="horizontal"
    shortDesc="Checkbox indicates a response is required "
    id="pgl17">
    <af:selectBooleanCheckbox label="#{bindings.ResponseRequire.label}"
    id="responseRequire"
    value="#{bindings.ResponseRequire.inputValue}"
    simple="true"
    autoSubmit="true"
    shortDesc="Checkbox indicates a response is required "/>
    <af:spacer width="5" height="10" id="s9"/>
    <af:outputText value="(#{bindings.ResponseRequireDisplayText.inputValue})"
    partialTriggers="responseRequire"
    id="ot49"/>
    </af:panelGroupLayout>
    </af:panelLabelAndMessage>
    <af:selectOneChoice value="#{bindings.QuestionType.inputValue}"
    label="#{bindings.QuestionType.label}"
    required="#{bindings.QuestionType.hints.mandatory}"
    shortDesc="#{bindings.QuestionType.hints.tooltip}"
    id="questionTypeId"
    autoSubmit="true">
    <f:selectItems value="#{bindings.QuestionType.items}"
    id="si4"/>
    </af:selectOneChoice>
    <af:inputText value="#{bindings.AddedBy.inputValue}"
    label="#{bindings.AddedBy.hints.label}"
    required="#{bindings.AddedBy.hints.mandatory}"
    columns="#{bindings.AddedBy.hints.displayWidth}"
    maximumLength="#{bindings.AddedBy.hints.precision}"
    shortDesc="#{bindings.AddedBy.hints.tooltip}"
    id="it16">
    <f:validator binding="#{bindings.AddedBy.validator}"/>
    </af:inputText>
    <af:inputDate value="#{bindings.AddedOn.inputValue}"
    label="#{bindings.AddedOn.hints.label}"
    required="#{bindings.AddedOn.hints.mandatory}"
    shortDesc="#{bindings.AddedOn.hints.tooltip}"
    id="id5">
    <f:validator binding="#{bindings.AddedOn.validator}"/>
    <af:convertDateTime pattern="#{bindings.AddedOn.format}"/>
    </af:inputDate>
    <af:inputText value="#{bindings.UpdatedBy.inputValue}"
    label="#{bindings.UpdatedBy.hints.label}"
    required="#{bindings.UpdatedBy.hints.mandatory}"
    columns="#{bindings.UpdatedBy.hints.displayWidth}"
    maximumLength="#{bindings.UpdatedBy.hints.precision}"
    shortDesc="#{bindings.UpdatedBy.hints.tooltip}"
    id="it17">
    <f:validator binding="#{bindings.UpdatedBy.validator}"/>
    </af:inputText>
    <af:inputDate value="#{bindings.UpdatedOn.inputValue}"
    label="#{bindings.UpdatedOn.hints.label}"
    required="#{bindings.UpdatedOn.hints.mandatory}"
    shortDesc="#{bindings.UpdatedOn.hints.tooltip}"
    id="id6">
    <f:validator binding="#{bindings.UpdatedOn.validator}"/>
    <af:convertDateTime pattern="#{bindings.UpdatedOn.format}"/>
    </af:inputDate>
    </af:panelFormLayout>
    </af:dialog>
    </af:popup>

    Thanks Mohammad
    I tried this but doesn't work. Also I save the getRangeStart return value before Rollback and tried to set with scrollRange(range) or scrollToRangePage(range) methods after Rollback but nothing changes, the scrollbar resets to the top position. The getCurrentRow and getRangeStart methods return the original values before rollback, but the scrollbar continue moving at the top position of the table...
    Any suggestions?

  • Scroll Bar state Problem

    I'm trying to implement a new control that needs a scrollbar, worked fine until I tried to collapse few properties..
    The scroll bar must appear only if the BlockOffset (which is an integer that draws properties, and if the last property was drawn below the maximum window's client height, it enables the scrollbar and gives it a nMax value as great as the last drawn pixel's
    y value) sees that few properties has been expanded and the last drawn pixel is below the control's client height (200 px in this picture)
    Note what happens if I scroll down and collapse back again the 2nd and 3rd properties
    The scrollbar disappear with all it's glory and i'm stuck with half-window content
    It happens because as soon as I collapse these properties the BlocksOffset gets down 200px (client height) and setting an nMax to the SCROLLINFO below the clients height will make the scrollbar disappear
    Here the most relevant customProc cases :
    //temporary global variable
    int BlockOffset = 20;
    static LRESULT CALLBACK
    CustomProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
    { retrieves the pointer to the control data, to be used in the message handlers below:
    GridClass* pData = (GridClass*)GetWindowLongPtr(hwnd, 0);
    static BOOL fScroll;
    SCROLLINFO si;
    static int yMinScroll; // minimum vertical scroll value
    static int yCurrentScroll; // current vertical scroll value
    static int yMaxScroll;
    switch (uMsg) {
    #pragma region PropProc
    case WM_NCCREATE:
    break;
    case WM_CREATE:
    fScroll = FALSE;
    // Initialize the vertical scrolling variables.
    yMinScroll = 0;
    yCurrentScroll = 0;
    yMaxScroll = 5250;
    break;
    case WM_SIZE:
    RECT rcClient;
    GetClientRect(hwnd, &rcClient);
    si.cbSize = sizeof(si);
    si.fMask = SIF_RANGE | SIF_PAGE | SIF_POS;
    si.nMin = yMinScroll;
    si.nMax = BlocksOffset;
    si.nPage = rcClient.bottom; //used HIWORD(lParam); before
    si.nPos = yCurrentScroll;
    SetScrollInfo(hwnd, SB_VERT, &si, TRUE);
    break;
    case WM_VSCROLL:
    int xDelta = 0;
    int yDelta; // yDelta = new_pos - current_pos
    int yNewPos; // new position
    switch (LOWORD(wParam))
    // User clicked the scroll bar shaft above the scroll box.
    case SB_PAGEUP:
    yNewPos = yCurrentScroll - 50;
    break;
    // User clicked the scroll bar shaft below the scroll box.
    case SB_PAGEDOWN:
    yNewPos = yCurrentScroll + 50;
    break;
    // User clicked the top arrow.
    case SB_LINEUP:
    yNewPos = yCurrentScroll - 5;
    break;
    // User clicked the bottom arrow.
    case SB_LINEDOWN:
    yNewPos = yCurrentScroll + 5;
    break;
    // User dragged the scroll box.
    case SB_THUMBPOSITION:
    yNewPos = HIWORD(wParam);
    break;
    default:
    yNewPos = yCurrentScroll;
    // New position must be between 0 and the screen height.
    yNewPos = max(0, yNewPos);
    yNewPos = min(yMaxScroll, yNewPos);
    // If the current position does not change, do not scroll.
    if (yNewPos == yCurrentScroll)
    break;
    // Set the scroll flag to TRUE.
    fScroll = TRUE;
    // Determine the amount scrolled (in pixels).
    yDelta = yNewPos - yCurrentScroll;
    // Reset the current scroll position.
    yCurrentScroll = yNewPos;
    RECT rcUpdate;
    // Scroll the window. (The system repaints most of the
    // client area when ScrollWindowEx is called; however, it is
    // necessary to call UpdateWindow in order to repaint the
    // rectangle of pixels that were invalidated.)
    ScrollWindowEx(hwnd, -xDelta, -yDelta, (CONST RECT *) NULL, (CONST RECT *) NULL, (HRGN)NULL, (PRECT)&rcUpdate, SW_INVALIDATE);
    //InvalidateRect(hwnd, &rcUpdate, TRUE);
    BOOL come = UpdateWindow(hwnd);
    // Reset the scroll bar.
    si.cbSize = sizeof(si);
    si.fMask = SIF_POS;
    si.nPos = yCurrentScroll;
    SetScrollInfo(hwnd, SB_VERT, &si, TRUE);
    break;
    #pragma endregion PropProc
    case WM_PAINT:
    /* Paints whatever it needs to be painted, thus increasing
    the BlocksOffset which is the last vertical drawn pixel + 10 or so
    more pixels, then forces a WM_SIZE message to change the scrollbar's
    nMax value according to the BlocksOffset */
    SendMessage(hwnd, WM_SIZE, 0, 0);
    EndPaint(hwnd, &ps);
    return 0;
    case WM_NCDESTROY:
    return 0;
    default:
    return DefWindowProc(hwnd, uMsg, wParam, lParam);
    return DefWindowProc(hwnd, uMsg, wParam, lParam);
    I'm new to scrollbars and I have no idea how I'm supposed to handle such situation
    Thanks in advance for any answer

    I'm trying to implement a new control that needs a scrollbar, worked fine until I tried to collapse few properties..
    The scroll bar must appear only if the BlockOffset (which is an integer that draws properties, and if the last property was drawn below the maximum window's client height, it enables the scrollbar and gives it a nMax value as great as the last drawn pixel's
    y value) sees that few properties has been expanded and the last drawn pixel is below the control's client height (200 px in this picture)
    Note what happens if I scroll down and collapse back again the 2nd and 3rd properties
    The scrollbar disappear with all it's glory and i'm stuck with half-window content
    It happens because as soon as I collapse these properties the BlocksOffset gets down 200px (client height) and setting an nMax to the SCROLLINFO below the clients height will make the scrollbar disappear
    Here the most relevant customProc cases :
    //temporary global variable
    int BlockOffset = 20;
    static LRESULT CALLBACK
    CustomProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
    { retrieves the pointer to the control data, to be used in the message handlers below:
    GridClass* pData = (GridClass*)GetWindowLongPtr(hwnd, 0);
    static BOOL fScroll;
    SCROLLINFO si;
    static int yMinScroll; // minimum vertical scroll value
    static int yCurrentScroll; // current vertical scroll value
    static int yMaxScroll;
    switch (uMsg) {
    #pragma region PropProc
    case WM_NCCREATE:
    break;
    case WM_CREATE:
    fScroll = FALSE;
    // Initialize the vertical scrolling variables.
    yMinScroll = 0;
    yCurrentScroll = 0;
    yMaxScroll = 5250;
    break;
    case WM_SIZE:
    RECT rcClient;
    GetClientRect(hwnd, &rcClient);
    si.cbSize = sizeof(si);
    si.fMask = SIF_RANGE | SIF_PAGE | SIF_POS;
    si.nMin = yMinScroll;
    si.nMax = BlocksOffset;
    si.nPage = rcClient.bottom; //used HIWORD(lParam); before
    si.nPos = yCurrentScroll;
    SetScrollInfo(hwnd, SB_VERT, &si, TRUE);
    break;
    case WM_VSCROLL:
    int xDelta = 0;
    int yDelta; // yDelta = new_pos - current_pos
    int yNewPos; // new position
    switch (LOWORD(wParam))
    // User clicked the scroll bar shaft above the scroll box.
    case SB_PAGEUP:
    yNewPos = yCurrentScroll - 50;
    break;
    // User clicked the scroll bar shaft below the scroll box.
    case SB_PAGEDOWN:
    yNewPos = yCurrentScroll + 50;
    break;
    // User clicked the top arrow.
    case SB_LINEUP:
    yNewPos = yCurrentScroll - 5;
    break;
    // User clicked the bottom arrow.
    case SB_LINEDOWN:
    yNewPos = yCurrentScroll + 5;
    break;
    // User dragged the scroll box.
    case SB_THUMBPOSITION:
    yNewPos = HIWORD(wParam);
    break;
    default:
    yNewPos = yCurrentScroll;
    // New position must be between 0 and the screen height.
    yNewPos = max(0, yNewPos);
    yNewPos = min(yMaxScroll, yNewPos);
    // If the current position does not change, do not scroll.
    if (yNewPos == yCurrentScroll)
    break;
    // Set the scroll flag to TRUE.
    fScroll = TRUE;
    // Determine the amount scrolled (in pixels).
    yDelta = yNewPos - yCurrentScroll;
    // Reset the current scroll position.
    yCurrentScroll = yNewPos;
    RECT rcUpdate;
    // Scroll the window. (The system repaints most of the
    // client area when ScrollWindowEx is called; however, it is
    // necessary to call UpdateWindow in order to repaint the
    // rectangle of pixels that were invalidated.)
    ScrollWindowEx(hwnd, -xDelta, -yDelta, (CONST RECT *) NULL, (CONST RECT *) NULL, (HRGN)NULL, (PRECT)&rcUpdate, SW_INVALIDATE);
    //InvalidateRect(hwnd, &rcUpdate, TRUE);
    BOOL come = UpdateWindow(hwnd);
    // Reset the scroll bar.
    si.cbSize = sizeof(si);
    si.fMask = SIF_POS;
    si.nPos = yCurrentScroll;
    SetScrollInfo(hwnd, SB_VERT, &si, TRUE);
    break;
    #pragma endregion PropProc
    case WM_PAINT:
    /* Paints whatever it needs to be painted, thus increasing
    the BlocksOffset which is the last vertical drawn pixel + 10 or so
    more pixels, then forces a WM_SIZE message to change the scrollbar's
    nMax value according to the BlocksOffset */
    SendMessage(hwnd, WM_SIZE, 0, 0);
    EndPaint(hwnd, &ps);
    return 0;
    case WM_NCDESTROY:
    return 0;
    default:
    return DefWindowProc(hwnd, uMsg, wParam, lParam);
    return DefWindowProc(hwnd, uMsg, wParam, lParam);
    I'm new to scrollbars and I have no idea how I'm supposed to handle such situation
    Thanks in advance for any answer
    After the expand and collapse events, you have to recompute the document height and set the scrollbar info.

  • Scroll Bar Error!

    My younger sister logged onto Facebook, and now I can't get off! Facebook's pages are too wide for Firefox, and usually there's a horizontal scroll bar at the bottom of the screen, along with the vertical one on the right of the screen. The horizontal one is gone! I cannot access the 'log off' button on Facebook, or anything further right of the page, for that matter.
    Firefox being my choice above Safari, and (UGH!) Explorer, this is QUITE frustrating, to say the least.

    The horizontal scroll bar is present on some sites, eg on mozilla.com, but, although I've tried the Reset option repeatedly, on Facebook it doesn't appear even when I resize the window. I'm using 5.01. This may be a fault with Facebook (I'm on Win7)

  • Why does my website have no scroll bars?

    I made this website with dreamweaver - http://quantumsuite.site90.net/new/
    The only problem is that there are no scrollbars (I know that my content goes off the end of the page).
    I have tried this website in Chrome, Firefox, Safari and IE and none of them display the website correctly (therefore meaning that there is something wrong with the website itself).
    At first I thought this was to do with the Flash content at the top of the page, but even after I removed it there were still no scroll bars.
    Thanks in advance for any help.
    (BTW the main stylesheet is http://quantumsuite.site90.net/new/css/main.css . (also nav.css)

    iPhone 4S - who is your carrier.
    There are some things we can try.
    look on the right hand side of the phone -remove the simcard -re-insert the simcard - test.
    If that doesnt work.
    then go to settings>general>reset>reset network settings- Test.
    hows that working so far?

  • Vertical scroll bar indicator disappears

    For some reason the only the scroll bar indicator becomes invisible and only appears when I have the mouse hovering over the location of the indicator in the scroll bar. I am able to see the scroll bars themselves, its just the blue indicator bar that is shown in the scroll bar that disappears . I tried restarting Firefox to see if might fix the problem but it didn't. I had to restart the computer before I got the scroll bar indicator back. But it wasn't long before it disappears again.
    Any suggestions? I'm using the latest version of Firefox and Windows 7 Ultimate 64-bit.
    Thanks

    Start Firefox in <u>[[Safe Mode|Safe Mode]]</u> to check if one of the extensions (Firefox/Tools > Add-ons > Extensions) or if hardware acceleration is causing the problem (switch to the DEFAULT theme: Firefox/Tools > Add-ons > Appearance).
    *Do not click the Reset button on the Safe mode start window or otherwise make changes.
    *https://support.mozilla.org/kb/Safe+Mode
    *https://support.mozilla.org/kb/Troubleshooting+extensions+and+themes
    Try to disable hardware acceleration in Firefox.
    *Tools > Options > Advanced > General > Browsing: "Use hardware acceleration when available"
    *https://hacks.mozilla.org/2010/09/hardware-acceleration/

Maybe you are looking for

  • HOW TO DISABLE "SAVE AS" IN THE MENU?

    Does any body knows how to disable the option SAVE AS from the file menu en discoverer 4.1.37? Thanks for your help!!

  • Help on PL_TIMEOUT error in BPM

    Hi I am trying a BPM scenario (SOAP-RFC Synchronous communication), where I have to call a sequence of BAPI's.  I am laying out the whole scenario over here. Sender: Web Service Receiver: SAP R/3 System I have a webservice which acts as a sender syst

  • Coldfusion in solaris 10

    Hi , Can I install coldfusion in solaris 10 ? my system architecture is -bash-3.00# isainfo -kv 64-bit amd64 kernel modules Pls suggest me thanks

  • Cannot open chat box on bbm, please help

    i think i tapped end chat instead of clear chat and now i cannot open the chat boxes to any of my bbm contacts. how do i reactivate this?? Solved! Go to Solution.

  • Registration of photoshop lightroom 5

    I have tried over 10 times to register my lightroom product and it is still not recognised. Each time I open lightroom on my computer the adobe website keeps asking for my product serial number. It is extremely frustrating!