6 Replies Latest reply on Jul 18, 2013 4:40 PM by Marcos Vainer Loeff

    ProcessBook button MouseOver nomore MousePointer

    guillaume_seurin

      Hi all,

       

      I have an issue with my displays.

       

      When I put my mouse over button, my mousePointer change with the usual "right hand index finger up".

       

      When I put my mouse over some other button, my mousePointer didn't change and stay the pbMPArrow.

       

      To solve the issue, I copy/paste the button, and the new button work fine.

       

       

       

      So anyone could tell me what's happen with my button ?

       

       

       

      regards,

        • Re: ProcessBook button MouseOver nomore MousePointer
          hanyong

          Hi Guillaume,

           

          I guess we have to have more information to confirm if this is really a bug in ProcessBook, Like if this is repeatable or whether you are able to reproduce this in some environment or steps.

           

          For a start, can you confirm that the button that is giving the issue is a Button symbol in ProcessBook and not a Microsoft Form command button (which can be inserted into ProcessBook as a control). They may look similar but if it is a command button, then you will not see a change in mouse pointer when you mouse over it.

            • Re: ProcessBook button MouseOver nomore MousePointer
              guillaume_seurin

              I confirm that I'm using the correct PI button.

               

              I didn't suceed to reproduce the issue. It's happen some times.

               

              How could I automatically reprocess de mousseOver Handler ?

                • Re: ProcessBook button MouseOver nomore MousePointer
                  Marcos Vainer Loeff

                  Hi Guillaume,

                   

                  What is the version of your PI ProcessBook? Are you using VBA code behind to change the cursor? If you create a new button, what would be the behavior? What happens if you create a new display and add a new button?

                   

                  I have tried unsuccessfully to simulate your problem.

                   

                  You can change the cursor of the mouse in a PI ProcessBook display through the property ThisDisplay.MousePointer.

                   

                  Let me know if you still have any question,

                    • Re: ProcessBook button MouseOver nomore MousePointer

                      Hello Guillaume,

                       

                      I've as well tried it without succeeding. It's easy with Microsoft Forms Controls but not trivial with a pbButton. I am really curious what this turns out to be in the end.

                        • Re: ProcessBook button MouseOver nomore MousePointer
                          guillaume_seurin

                          Hello,

                           

                          I finally got it !

                           

                          I'm also using Layers and the issue is a ProcessBook issue between fordward/backward symbols and the use of Layers.

                           

                          Let me explain you how to reproduce the issue :

                           

                          3 layers : named Layer1/Layer2/Layer3 with the index number correspond to his name.

                           

                          Insert a rectangle named rectangle2Before.

                           

                          Assign rectangle2Before to layer2.

                           

                          Insert 2 buttons named button1/button3.

                           

                          Assign to this button the layer1 for the button named button1 and layer3 for the button3.

                           

                          Insert a rectangle named rectangle2After.

                           

                          Assign Rectangle2After to layer2.

                           

                          Superimpose the rectangles over buttons.

                           

                          Due to layers button1 is visible on the background.

                           

                          Due to layers rectangle2Before and rectangle2After are visible on the middleground.

                           

                          Due to layers button2 is visible on the front.

                           

                          Despite the visible aspect that is work fine, the mouseover don't react the same over the Rectangle2Before than the Rectangle2After.

                           

                          Over the Rectangle2Before and a button the mouse over is changing on the "right hand index finger up".

                           

                          Over the Rectangle2After and a button the mouse over is NOT changing on the "right hand index finger up".

                           

                          So my conclusion is that modified arrangement by sending symbols to background or bring to front is not working fine with the use of layers.

                           

                          New symbols added are always added as the frontest symbol, despite that visually the new symbol is send to back by the use of layers the mousse changing over button is played like the button was at the back of this new symbol.

                           

                          Let me know if there is the same issue on your processbook.

                           

                          nb : ProcessBook version 3.2.0.0

                            • Re: ProcessBook button MouseOver nomore MousePointer
                              Marcos Vainer Loeff

                              Hello Guillaume,

                               

                              Thank you for writing a procedure about how to reproduce the issue. I was able to reproduce it and I have found out  a workaround to solve this problem.

                               

                              The workaround consists in adding two events handlers (MouseOut and MouseOver) to the rectangle2After and Button3 objects, as you can see on the code snippet below:

                               

                                

                               
                              Private Sub Button3_MouseOut()
                              ThisDisplay.MousePointer = pbMPDefault
                              End Sub
                              
                              Private Sub Button3_MouseOver()
                              ThisDisplay.MousePointer = pbMPCustom
                              End Sub
                              
                              Private Sub rectangle2After_MouseOut()
                              ThisDisplay.MousePointer = pbMPDefault
                              End Sub
                              
                              Private Sub rectangle2After_MouseOver()
                              ThisDisplay.MousePointer = pbMPDefault
                              End Sub
                              

                               

                               

                               You will have to use custom pointers since the cursor of the "right hand index finger up" is not listed on the options of ThisDisplay.MousePointer.

                               

                              Here is the code snippet to use the custom pointers:

                               

                                

                               
                              ThisDisplay.MousePointer = pbMPCustom
                              Set ThisDisplay.MouseIcon = LoadPicture("C:\temp\hand.cur", , , Default)
                              

                               

                               

                              You can replace the cursor file with any of your choice. Generally, system cursor files are stored under %Windir%\Cursors. I recommend you using the standard .cur file.