Welcome to the SRP Forum! Please refer to the SRP Forum FAQ post if you have any questions regarding how the forum works.

BallonToolTip

should
Set_Property(Table$, "OLE.ShowToolTips", 0) stop
rv = Send_Message(Table$, "OLE.ShowBalloonTooltip", Col:@fm:Row, ToolTip)
from working.

Is there something else I need to do to get OLE.ShowBalloonTooltip to work.

Comments

  • I might reword that a bit.
    I am doing the "OLE.ShowToolTips" and "OLE.ShowBalloonTooltip" is not working.
    Would the "OLE.ShowToolTips" be stopping it?
  • Barry,

    OLE.ShowToolTips should have no impact.
  • Didn't think so, thanks.

    I will try and look for something else, it is definitely running the code.
    I am creating different one for different cells when the table is created, that is OK isn't it.?
  • Nope, cant figure it out.

    I am running windows 10, could that be a problem?
  • Barry,

    Establishing new content for each cell is not a problem. Windows 10 should not be the problem either (I just tested on my own system to confirm.) Perhaps you could post some code (i.e., more than what we have already seen) for us to review?
  • Also, what event handler is calling this method for you? How are you trying to get it to work?
  • In the create event when srp edittable is created and populated.
    Also when it is being 'refreshed' for Col=2 to NoOfCols for Row=1 to NoOfRows CellData=TimesTable<Col,Row> ToolTip=field(CellData,"|",3) if ToolTip then swap '~' with @fm in ToolTip ToolTip<3> = 1 ToolTip<4> = 5000 rv = Send_Message(Table$, "OLE.ShowBalloonTooltip", Col:@fm:Row, ToolTip) end next Row next Col
  • Not sure if this is anything but I am not getting the 'tooltips' on the hidden icons on the rhside of the windows start bar.
    I thought it must be win10 issue, but I just noticed on my laptop win10 that I do get it.
    Not sure what the technical term for this to be able to google it.

    Would this affect what I am trying to do. OR am I using it incorrectly(I am sure I am)
  • Barry,

    After reviewing your code and that you mentioned this is happening within the form's CREATE event handler I am inclined to think you misunderstand how this is intended to work. I get the impression you are treating the ShowBalloonTooltip method as a property. That is, you are trying to set the tool tip upfront and then expect it to just appear as if it were a normal tooltip for a button. Am I understanding you correctly?

    Balloon tooltips are not like normal tooltips. You just don't set them and they simply display on their own. The ShowBalloonTooltip method itself is what you call to display the balloon tooltip when you want, i.e., on demand. This is why there is a HideBalloonTooltip method so you can take it down at will.

    Normally you invoke the ShowBalloonTooltip method during an event like OnMouseMove.
  • Thank you.
    I really didn't understand the concept.
  • Ok, stupid here again.

    In the OLE event handler i am checking param1 for 'OnMouseMove' and it is not firing.
    I get 'OnMouseEnter' and a heap of others but no OnMouseMove.
    I trap 'OnDblClick' and OnHyperClick' and processing ok.

    i have this in the Create event: Qualify = "" Qualify<1> = 1 ; // Enable OLE event Qualify<4> = 2 ; // Synchronous event processing Send_Message(Table$, "QUALIFY_EVENT", "ALL_OLES", Qualify) here is my OLE commuter
    OLE: begin case case param1="OnOptionClick" set_property(Param2,"FOCUS",1) begin case case Param2 = @Window:".USERNAME" send_event(Param2,"OPTIONS") case 1 call popup_month() send_event(Param2,"LOSTFOCUS") end case case param1="OnHyperClick" or param1="OnDblClick" gosub DblClk case param1 _eqc 'OnMouseMove' gosub ShowBalloonTip end case return What have I misunderstood now.
  • Barry,

    The help for the OnMouseMove event should be updated a bit to make it very clear that it is not functional by default. You need to set the SuppressMouseMoveEvent property to False$. This property is listed at the bottom of the help article but that is the extent of the information.

    The reason for this property is because the OnMouseMove event can create overhead that might be noticed on slower machines. Thus, we have provided a way to help improve performance.
  • Thanks, I now feel I can forgive my self

    I intend to change Send_Message(Table$, "QUALIFY_EVENT", "ALL_OLES", Qualify) to the events I actually require as it is obvious that there would be a slight overhead anyway.
  • dont know what happened there.

    I intend to change Send_Message(Table$, "QUALIFY_EVENT", "ALL_OLES", Qualify) to the events I actually require as it is obvious that there would be a slight overhead anyway.
  • Barry,

    We no longer recommend using the ALL_OLES keyword. In addition to the overhead you incur, we have noticed that OI 9.x systems have unusual performance issues, especially in the area of synchronous events. It is odd because if you qualify every event individually the problem does not occur. So, since this is obviously all related to internal OI issues we opted to just stop recommending the ALL_OLES approach.
  • Sorry to be a pita.

    The ShowBalloonTip paragraph is being executed.
    (I noticed that it executed during the 'refresh' so I turned it off at the start and back on at the end)

    It is not showing, so I added this just to ensure it was not my data and it is still not showing.
    Are there any more hidden gems.
    All my cells are protected.
    Table$ is definitely correct.

    Config = "" Config<1> = "Multiple line test":@TM:"Line 1":@TM:"Line 2" Config<2> = "This is My Title" Config<3> = 1 Config<4> = 0 rv = Send_Message(Table$, "OLE.ShowBalloonTooltip", 2:@FM:1, Config)
  • Barry,

    What does "refresh" actually mean? Are you referring to the Refresh method?

    What event handler is now executing your code?
  • 'Refresh' means setting the values in the EditTable

    The OLE event executes the ShowBalloonTip code OLE: begin case case param1="OnOptionClick" set_property(Param2,"FOCUS",1) begin case case Param2 = @Window:".USERNAME" send_event(Param2,"OPTIONS") case 1 call popup_month() send_event(Param2,"LOSTFOCUS") end case case param1="OnHyperClick" or param1="OnDblClick" gosub DblClk case param1 _eqc 'OnMouseMove' gosub ShowBalloonTip end case return ShowBalloonTip: SelPos=param2 swap ';' with @fm in SelPos Col=SelPos<1> Row=SelPos<2> if Col=0 or Col=1 or Row=0 then return CellData = get_property(Table$,"OLE.CellText[":param2:"]") ToolTip=field(CellData,"|",3) if ToolTip then swap '~' with @fm in ToolTip ToolTip<3> = 1 ToolTip<4> = 5000 rv = Send_Message(Table$, "OLE.ShowBalloonTooltip", Col:@fm:Row, ToolTip) end Config = "" Config<1> = "Multiple line test":@TM:"Line 1":@TM:"Line 2" Config<2> = "This is My Title" Config<3> = 1 Config<4> = 0 rv = Send_Message(Table$, "OLE.ShowBalloonTooltip", 2:@FM:1, Config) return
  • The 2:@FM:1 cell appears to be getting focus for the following reasoning:
    The table is wider than the screen and when I move the bottom scroll bar to the right and the mentioned cell is 'out of focus', and I then 'hover' on a cell, the scroll bar shifts back to the start.
  • Barry,

    I can't determine what is preventing this from working for you. In cases like these I suggest you do a very simple test. For instance, just create a simple push button on your form and have it call the ShowBalloonTooltip method with hardcoded values. This will eliminate other possible problems, such as OLE event issues.
  • No, that didnt work.

    Created a new window.
    placed OLE control with SRP.EditTable.1 and named OLE_EDITTABLE
    placed a button with the click event executing:
    // Show a balloon tooltip in the first cell with an info icon and a 5 second time limit Config = "" Config<1> = "Multiple line test":@TM:"Line 1":@TM:"Line 2" Config<2> = "This is My Title" Config<3> = 1 Config<4> = 5000 call Send_Message(@Window:".OLE_EDITTABLE", "OLE.ShowBalloonTooltip", 1:@FM:1, Config)Not working.
    Did I need to do any sort of setup for the OLE_EDITTABLE

    Will now copy all to a different pc and see if it works
  • Barry,

    I think trying this on different computers is just a waste of your time. Try simplifying your code even more. For instance, don't set anything for Config<2>, Config<3>, or Config<4>. Only use one line of sample text for Config<1>.
  • This is crazy, did all that, even took out the @tm. Not working!!!!!!!!

    Can you create a window with just the edittable and button that works, in SYSPROG and email me the deployment.
  • Barry,

    This is not a trivial amount of work just to show that it works. I would rather not go through the work of developing a working system for this issue as this will set a precedent for other to ask for the same kind of assistant for any control they might have problems with. I hope that makes sense.

    I am happy to extend the same courtesy that we provide others: send me a copy of your application or an RDK that includes everything necessary to test your work. I will take a look at it and let you know what I find.
  • I have sent you my test.
    You show me yours and I'll show you mine
  • Barry,

    LOL...your email came in just as I sent that last reply. Good deal.

    I installed and immediately ran your form and clicked on the button. This is what I see:

  • A few years back, I couldn't for the life of me get tool tips to work.
    I think I was trying with the subclass rather than an edittable but themethod was the same.

    I gave up and took a different approach. I think I changed to prompts instead of tooltips.

    Imagine my surprise some time later when the Windows environment was changed and all these test balloon tips started popping up all over the place.

    Fortunately it was all in one function so it was a quick fix to remove them.

    What's the point?
    I don't believe it was the version of Windows but there was definitely something in the Windows config that was preventing tooltips from displaying, even with the right code.

    Government client. Third party IT providers. Too hard and too low a priority to try and determine exactly what was getting in the way but I bet ya there is some cheeky flag somewhere.
  • Thank you mark, looks like I could be banging my head against a brick wall.
    One good outcome though from googling is that I found a solution to my notification 'hidden' icons not showing balloon tips:
    Press Win + R shortcut keys together on the keyboard to open the Run dialog. See the list of Win key shortcuts and new global hotkeys in Windows 10.
    Type the following in the Run box:
    gpedit.msc
    Go to the following path in the left pane of Group Policy Editor:
    User Configuration \ Administrative Templates \ Start Menu and Taskbar
    Locate and modify the following setting: Disable showing balloon notifications as toasts.
    Set it to Enabled
Sign In or Register to comment.