Hi, I'm using several TAdvStringGrid on a page slider. One grid has hover buttons which will open the next page when clicked on (this is a database drill down feature). However the hover button remains visible and in the same place even though the page it's grid is on has slid over to the left. I've tried calling HideHoverButtons but it doesn't seem to make any difference. Is there any other way of forcing the hover button to disappear immediately after it has been clicked?
Not sure what exact code you use from the hover button click event.
Maybe you can try to call grid.SetFocus first before opening a next page?
The click event just updates the ActivePageIndex to make the next page slide over, then sets up the grid on that page. SetFocus doesn't work.
I cannot reproduce a problem.
It seems to only happen if the grid is on the second page, so a minimal test project would be:
1. Add a TAdvSmoothPageSlider
2. On the second page add a TAdvStringGrid
3. In the grid enable hover buttons in column 1 and add a button to the hover buttons collection
4. In the grid OnHoverButtonClick call AdvSmoothPageSlider1->SelectNextPage(true)
The hover button now stays on the screen, calling HideHoverButtons does not have any effect. Note that this only sometimes happens, you may have to play around a little before you see it, ie. click then drag the page back and try again, although quite often I see it straight away.
Calling Refresh doesn't help.
I found another problem with the TAdvSmoothPageSlider, when I put it on a form that is not the main form I get "System Error code 1400 invalid window handle" when the application closes.
Minimal test project:
Create new project
Add a second form
Add a TAdvSmoothPageSlider to the second form
Add button to main form, OnClick opens second form
Run and click the button
Close the main form