On a timer:
1. check if vb6.exe has the focus
2. look for windows that have the tooltip class using enumWindows
3. get contents of tooltip text and tooltip position
4. analyze text to see if it matches the conversion criteria
5. display a form that looks like a tooltip right next to the original with the converted values
It works but having the timer and program always running is kinda cheesy and hooking seems to be the more elegant solution.
cool, thats not a bad solution. Running that as an external app has the benefit of not impacting IDE stability at all ever.
the approach I used was no fun to debug and had lots of quirks. If an unknown corner case comes up the IDE will crash
and work could be lost.
I would be interested in seeing your solution if you were up for sharing it. Would be a nice backup if this one has hidden bugs.
Search for "your new text here" to see where to set your new caption. Apologies for the organization, I had to rip out a bunch of stuff but it should compile and work.
yeah, if you have common identifiers for various things it lets you do some quick lookups. I embedded a webbrowser and grid controls in mine to display various things.
I'd really like a way to get the code under the mouse cursor when hovering over the ide. Our project has several languages and the code is littered with "label1. caption = lang(2556)" and I'd like to be able to hover over lang(2256) and display what is says in the extended tooltip.
Right now, I am running OCR and constantly scanning the area around the mouse position looking for matches but it only works about half the time. The ocr has trouble with some letters and numbers at random times which makes it really frustrating to use.
I also tried to read the caret location text from the panel in the IDE (eg "Ln 8512, Col 20"). This would let me click and then get the tooltip but could not read the text. I tried inspect but couldn't get the contents.
I poked around some add-in documentation but it was sparse and I couldn't find much info.
There has to be a way to get it, I just don't have have a lot of experience with hooking\api\lower level stuff to make it happen.