BindWinEvent and FoxTabs 1.3

Years ago, Greg Green reported that FoxTabs was conflicting with his custom VFP editors, due to VFP’s limitations binding to Win Msg events. Greg wrote this framework to deal with the limitation, and I made some modifications. I wrote about this on my blog, and BindWinEvent has been included with FoxTabs ever since.

More recently, I found that FoxTabs was conflicting with Doug Hennig’s ProjectExplorer for the same reason, so I implemented BindWinEvent in ProjectExplorer. Doug reported back with some fixes to issues he found. I then realized that BindWinEvent needed a separate repository of its own, so it is now a separate project and part of VFPX. If you have an IDE utility that binds to Win Msg events, I recommend using BindWinEvents to avoid conflicts with other utilities.

FoxTabs hasn’t had any love since 2014, so while I was in there, I figured I would investigate a long-standing issue where a label would disappear on some of the tabs. This turned out to be a compatibility issue with PEM Editor, because it sometimes changes the window title to include more information. Once I accounted for that, no more disappearing labels!

While working on that issue, I ran across some old code from Jim Nelson that used _EdGetEnv() from FoxTools.fll to determine the type of each window. I had never learned about that function before. I used it along with some other tricks to improve window type detection and the icons displayed for each type. Instead of a bunch of Fox heads, the tab icons are now a lot more informative and colorful.

You can get all these improvements in FoxTabs 1.3, available on GitHub or Thor Updater (coming soon if it’s not there already).