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
from working.
Is there something else I need to do to get OLE.ShowBalloonTooltip to work.
Set_Property(Table$, "OLE.ShowToolTips", 0)
stoprv = 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 am doing the "OLE.ShowToolTips" and "OLE.ShowBalloonTooltip" is not working.
Would the "OLE.ShowToolTips" be stopping it?
OLE.ShowToolTips should have no impact.
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.?
I am running windows 10, could that be a problem?
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 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
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)
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.
I really didn't understand the concept.
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 commuterOLE: 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.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.
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.
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.
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.
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)
What does "refresh" actually mean? Are you referring to the Refresh method?
What event handler is now executing your code?
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 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.
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.
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
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>.
Can you create a window with just the edittable and button that works, in SYSPROG and email me the deployment.
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.
You show me yours and I'll show you mine
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:
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.
One good outcome though from googling is that I found a solution to my notification 'hidden' icons not showing balloon tips: