-
Notifications
You must be signed in to change notification settings - Fork 253
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
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
.The text was updated successfully, but these errors were encountered: