Project JEDI - Issue Tracker - JEDI VCL
Viewing Issue Advanced Details
2518 00 JVCL Components minor always 2005-01-17 02:12 2005-04-12 09:04
wolkenlos  
obones  
normal  
resolved 3.00 BETA 2  
fixed  
none    
none 3.10  
0002518: Black Hint
Unit: JvExControls
Procedure: Control_MouseLeave

FSavedHintColor is empty,
vcl-components shows a black hint, after leaving jedi-controls
Issue History
2005-01-17 02:12 wolkenlos New Issue
2005-01-17 03:16 obones Note Added: 0006168
2005-01-17 03:16 obones Status new => feedback
2005-01-17 04:10 anonymous Note Added: 0006172
2005-01-17 12:20 remkobonte Note Added: 0006185
2005-01-18 06:27 user72 Note Added: 0006205
2005-01-18 06:45 anonymous Note Added: 0006206
2005-01-18 06:57 user72 Note Added: 0006207
2005-01-25 14:47 user72 Note Added: 0006288
2005-04-12 09:04 obones Status feedback => resolved
2005-04-12 09:04 obones Resolution open => fixed
2005-04-12 09:04 obones Assigned To => obones

Notes
(0006168)
obones   
2005-01-17 03:16   
Please use JVCL 3 RC1 and let us know if this still happens
(0006172)
anonymous   
2005-01-17 04:10   
I use JVCL 3RC1 with JCL JCL1.94-Build1758, its the same.... black hint
(0006185)
remkobonte   
2005-01-17 12:20   
This is a quote from the newsgroup:

Problem seems to be that the code JvExControls.pas assumes that if the FMouseOver field of a control is set to true then also FSavedHintColor is set.

But if you look at the TJvCustomLookOutButton.MouseMove procedure then there MouseOver is set to true without setting FSavedHintColor (which is initially 0 (=clBlack), thus if you exit that control the hint color is set to black in Control_MouseLeave from JvExControls.pas.

IMO the whole changing of the hint color on enter/exit of a control should be dropped and instead CM_HINTSHOW should be used.
(0006205)
user72   
2005-01-18 06:27   
> instead CM_HINTSHOW should be used.
But how do we reset the hint color to the default for non-JVCL controls (or JVCL controls that doesn't have a HintColor property) after the hint has been shown?
(0006206)
anonymous   
2005-01-18 06:45   
is not necessary to use application.hintcolor, therefore is also not necessary to reset the hintcolors of non-jvcl-controls

procedure TJvExControl.CMHintShow(var Message: TCMHintShow);
begin
  Message.HintInfo^.HintColor:=FHintColor;
end;
(0006207)
user72   
2005-01-18 06:57   
> is not necessary to use application.hintcolor
Of course. How silly of me :)
(0006288)
user72   
2005-01-25 14:47   
I have comitted an update to CVS that uses HintShow isto Control_MouseEnter/Leave. If it is confirmed to work in CLX as well, we can close this issue.