![]() | Steema Issues DatabaseNote: This database is for bugs and wishes only. For technical support help, if you are a customer please visit our online forums;otherwise you can use StackOverflow. Before using this bug-tracker we recommend a look at this document, Steema Bug Fixing Policy. |
| Summary: | unwanted Application.HintPause overwrite by TMarksTipTool.MouseDelay | ||
|---|---|---|---|
| Product: | VCL TeeChart | Reporter: | boris.seve |
| Component: | Tools | Assignee: | Steema Issue Manager <issuemanager> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | marc, sandra |
| Priority: | --- | ||
| Version: | unspecified | ||
| Target Milestone: | --- | ||
| Hardware: | PC | ||
| OS: | Windows | ||
| Chart Series: | --- | Delphi / C++ Builder RAD IDE Version: | |
fix:
Property now delays possible setting of Application.HintPause until component is loaded.
Change can be made in current code this way:
//Modify existing setter:
procedure TMarksTipTool.SetMouseDelay(const Value: Integer);
begin
{$IFNDEF FMX}
if (not (csLoading in ComponentState)) and SystemHints then
Application.HintPause:=Value
else
{$ENDIF}
FMouseDelay:=Value;
end;
//new protected method in TMarksTipTool:
procedure TMarksTipTool.Loaded;
Begin
inherited;
{$IFNDEF FMX}
if SystemHints then
Application.HintPause:= MouseDelay;
{$ENDIF}
end;
|
Hi, Application.HintPause is modified by TMarksTipTool even if SystemHints is set to False. TFrame > TChart > TMarksTipTool > SystemHints = False I looked in your sources and my understanding is that in vcl TMarksTipTool.SystemHints is set to True in Create. your source: constructor TMarksTipTool.Create(AOwner: TComponent); begin inherited; FSystemHints:={$IFDEF FMX}False{$ELSE}True{$ENDIF}; FStyle:=smsLabelOrValue; FHidePause:=2500; FFormat:=TTextShape.Create(nil); FFormat.Visible:=False; FFormat.TextAlignment:=taCenter; FFormat.CustomPosition:=True; end; The craft of the dfm set SystemHints after MouseDelay. dfm extract example: object ChartTool1: TMarksTipTool Format.CustomPosition = True Format.Left = 0 Format.TextAlignment = taCenter Format.Top = 0 Format.Visible = False MouseDelay = 0 SystemHints = False end So when the dfm is loaded, it set the MouseDelay before SystemHints so it affects Application.HintPause. your source: procedure TMarksTipTool.SetMouseDelay(const Value: Integer); begin {$IFNDEF FMX} if SystemHints then Application.HintPause:=Value else {$ENDIF} FMouseDelay:=Value; end; Thanks guys.