SRP Controls, Utilities, and Editor Get DPI Support
Why the Long Wait?
DPI is Why.
DPI, or Dots per Inch, is shorthand for per-monitor DPI awareness. When the SRP ActiveX Controls were first written, the standard DPI was 96 dots per inch regardless of how big the monitor was. Since then, pixel density has drastically increased. Nowadays, DPI awareness is in high demand.
One of OpenInsight 10’s major evolutions was to adopt per-monitor DPI awareness. This is no small task. It’s been over a year since SRP released an update of our flagship tools because DPI support is a lot of work. Streamlining the user experience the way our controls do involves a lot of caching and layout management. Like most software that emerged around the turn of the millennium, everything was hardcoded to 96 DPI.
I guess DPI awareness is the new Y2K.
C’est la vie
That’s life, though, and we’re happy to finally put something into your hands. Every SRP ActiveX Control has been updated and tested with OI 10.2. That being said, we do anticipate some edge cases will crop up in some applications out there, so don’t hesitate to let us know in the forums if you run into some oddities.
We didn’t stop at DPI awareness. Several updates and fixes have been included.
SRP ActiveX Controls
- Added DPI awareness for OI 10.
- Updated “XP” Border style theme in Windows 11 to not use edit line themes since they only have a border along the bottom. The themed borders you get from using the “XP” style border has traditionally used the system’s edit field theme, but they looked bizarre when applied to controls such as the SRP EditTable Control, so we switched to a more traditional border.
- Added Highlight property to allow you to see what the user has selected.
- Added Dates property so you can know what dates are currently visible to the user.
- Added OnHighlightChange event when the user highlights times or days.
- Fixed bug where clicking on menu in a form with a panel would crash OI 10.
- Fixed bug where OnHScroll and OnVScroll weren’t firing during Left-Click pan operation.
- Added localization support to number formats. You don’t have to do anything. In fact, your format should still use the US formatting standards. The controls will take care of the rest.
- Fixed bug where formatted numbers using placeholder zeroes would not display properly.
- Fixed bug where clicking an appointment always fired the OnTreeCheckChange event.
- Fixed bug where entities smaller than 64 pixels would cause scrolling issues.
- Updated scroll buttons to use toolbar theme assets since the scrollbar assets in Win11 look off.
Over the course of the last year we’ve been chipping away at features and fixes for the SRP Utilities.
- Added Compare, EQ, EQC, NE, NEC, LT, LTC, LE, LEC, GT, GTC, GE, and GEC services to SRP_String.
- Added StripRtf service to SRP_String
- Added GetTempPath and GetTempFilename services to SRP_Path
- Added BEGINCALL, ENDCALL, and ADDPARAM services to SRP_Com
- Added SRP_Is64Bit()
- Updated SRP_Date, SRP_Time, and SRP_DateTime IConv services to set Status() when validation fails
- Updated URL algorithm in SRP_Encode/SRP_Decode.
- Updated SRP_Show_Window to respect DPI in OI 10
- Fixed bug in SRP_JsonX and SRP_JsonX_Set where passing number with leading zeroes with no hint produces invalid Json numbers
- Fixed bug in SRP_JsonX and SRP_JsonX_Set where setting Hint to “” set the value to null
- Fixed bug in SRP_JsonX and SRP_JsonX_Set where setting Hint to “Bool” would break to debugger if non-numerical value was passed
- Fixed bug in SRP_JsonX_Members where passing path to non-existing element would crash
- Fixed bug in SRP_Time and SRP_DateTime where “t” or “tt” format would use pm instead of am for the noon hour
- Fixed bug in SRP_Path where MakeRelative service would crash in OI10
- Fixed bug in SRP_Registry where it would break to debugger on a READ
- Fixed bug in SRP_Com where creating new objects would return handles with null characters
- Fixed bug in SRP_Com where passing -1 for a boolean would be understood as TRUE
- Fixed bug in SRP_PreCompiler not removing #pre and #endpre directives before compilation
- Fixed bug in SRP_Get_Utilities_Version where it would crash in OI10
The SRP Editor has been updated to be DPI aware as well. Please note that there are some features and bugs that have come up over the last year which have not yet been addressed. Rather than make you wait even longer, we decided to get this release out now so the SRP Editor would be useful in OI 10. Further SRP Editor enhancements are in the works. In the meantime, here’s what you can expect with this release.
- Added DPI awareness for OI 10
- Added Calendar control to SRP_ActiveX_Info.exe
- Updated SRP_ActiveX_Info.exe to be more tolerant of missing registrations
- Updated OI 10 version to initialize OIPI before printing, not during startup
- Updated OI 10 version to support changes to OI 10.2
- Fixed bug in OI 10 where event dropdowns for OI controls would be empty