Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upGitHub is where the world builds software
Millions of developers and companies build, ship, and maintain their software on GitHub — the largest and most advanced development platform in the world.
Allow assigning custom THintWindowClass #770
Comments
Agreed. I noticed that too a while ago and started digging why VTV needs it own hint window class at all. One outcome was #730. |
|
We should remove TVTHintData.DefaultHint and determine TVTHintData.HintText in TBaseVirtualTree.CMHintShow() and not in TVirtualTreeHintWindow.CalcHintRect(). We should aim that the default VCL THintWindow is working, at least header hints are not shown here. |
…ult, we onyl deliver the actual hint animation type now that should be used.
…s the hint text only using TCMHintShow.HintStr and at the end assignes the compiled hint to FHintData.HintText.
* Removed TVirtualTreeHintWindow.FDrawBuffer, we now paint on the canvas driectly * Removed local variable Shadow, as it was never set to a value different from 0. * Removed property TextHeight as it was never used.
* Turned property HintWindowDestroyed into a function * Removed WMNCPaint)=, it seems to have no effect and the base implementation seems to work fine. * TVirtualTreeHintWindow.WMShowWindow() no longer finalizes FHintData, should be done by the compiler just fine.
…atSystemDefault, we onyl deliver the actual hint animation type now that should be used.
…nt, now only using TVTHintData.HintText,
… now compiles the hint text only using TCMHintShow.HintStr and at the end assignes the compiled hint to FHintData.HintText.
…ed to hint animation, we now rely on the VCL base class THintWindow regarding this.
* Removed TVirtualTreeHintWindow.FDrawBuffer, we now paint on the canvas driectly * Removed local variable Shadow, as it was never set to a value different from 0. * Removed property TextHeight as it was never used.
* Turned property HintWindowDestroyed into a function * Removed WMNCPaint)=, it seems to have no effect and the base implementation seems to work fine. * TVirtualTreeHintWindow.WMShowWindow() no longer finalizes FHintData, should be done by the compiler just fine.
…emove the global variable FHintWindowDestroyed, which was needed for coordinating hint animations.
…e can also remove the global variable FHintWindowDestroyed, which was needed for coordinating hint animations.
* Removed no longer used protected property TVirtualTreeHintWindow.HintData * It does not seem to be necessery to override TVirtualTreeHintWindow.WMEraseBkgnd()
* Removed no longer used protected property TVirtualTreeHintWindow.HintData * It does not seem to be necessery to override TVirtualTreeHintWindow.WMEraseBkgnd()
…ssue #770 as it produced yellow backgrounds occasionally.
* Removed no longer used protected property TVirtualTreeHintWindow.HintData * It does not seem to be necessery to override TVirtualTreeHintWindow.WMEraseBkgnd()
…ssue JAM-Software#770 as it produced yellow backgrounds occasionally.
VTV doesn't use the application's HintWindowClass, so if a custom one has been assigned (as easy as
HintWindowClass := TMyHintWindow;) it's used for all components except for VTV.Unfortunately, there's no direct way to use a custom hint style, so in order to assign it, one has either to inherit or intercept TVirtualStringTree.
I'm currently doing this:
It works, but I feel like this shouldn't be necessary.
Would it please be possible to have a public property like "HintWindowClass" to easily assign a custom THintWindowClass?
Alternatively or additionally, there could be an option to automatically use the THintWindowClass of the application, like
toUseApplicationHintWindowClass.