- This topic has 24 replies, 4 voices, and was last updated 4 years, 1 month ago by HeDiBo.
-
AuthorPosts
-
August 14, 2020 at 1:05 pm #69249HeDiBoParticipant
In the enclosed project, wait for a hint to appear. Then start moving the mouse over and outside of the buttons. New hints appear, but much, much too fast.
The old hint should disappear when the mouse is moved away from the control. Then there should be a comfortable wait time before the new hint appears. As it is now, hints become annoying very rapidly.
TsAlphaHints probably needs a number of timer values in published properties, to enable careful customization.Attachments:
You must be logged in to view attached files.August 14, 2020 at 2:05 pm #69251HeDiBoParticipantThis little screen captured gif shows how annoying the quick recurrence of hints is.
Attachments:
You must be logged in to view attached files.August 15, 2020 at 9:54 am #69253HeDiBoParticipantHere’s another example of how annoying these hints are.
Attachments:
You must be logged in to view attached files.August 16, 2020 at 5:40 pm #69262SupportKeymasterBut this behavior is standard? Or I don’t understand a problem?
August 16, 2020 at 9:41 pm #69273HeDiBoParticipantNo, this behavior is far from standard. Start an Explorer window and hoover over the top buttons. There is a delay of two seconds between the showing of the hints. In your implementation this is 0.1 second.
August 19, 2020 at 7:51 pm #69287SupportKeymasterI meant standard hints in the Delphi applications.
Behavior is equal.Attachments:
You must be logged in to view attached files.August 19, 2020 at 7:54 pm #69289SupportKeymasterSame behavior I see in system buttons of the file explorer.
Attachments:
You must be logged in to view attached files.August 19, 2020 at 10:59 pm #69298HeDiBoParticipantI’m on holiday for a few days. When I’m back I’ll get to the bottom of this.
August 20, 2020 at 12:15 pm #69302Stephane SenecalParticipantSame behavior I see in system buttons of the file explorer.
As we can see in Windows Explorer, there is a delay before the first hint is displayed, but when a hint is showing it updates immediately if it encounters another control.
I think HeDiBo means that there should be a delay before the first hint is shown.
In Delphi there is the option Application.HintPause which is the delay before showing a hint (default to 500 milliseconds).
Stephane Senecal
CIS Group
Delphi programmer since 2001August 20, 2020 at 2:24 pm #69303HeDiBoParticipantAs far as I can remember on my holiday, the 500 msec delay is the only timing that can be adjusted in TsHintManager. I have changed it to 1000. But that timing is not honored anymore, after the first time a hint is shown.
August 21, 2020 at 12:51 pm #69307HeDiBoParticipantI was mistaken. I changed the value form 5000 to 10000, to get a longer reading period.
That means two timing value properties could be added: the time for a first hint to appear (HintPause), the time between hints if moving over controls (HintShortPause).
The Application hint values can be set but they would be nicer as properties of TsAlphaHints.August 21, 2020 at 7:37 pm #69308LasseParticipantDon’t remember exactly but I had to put a comment here:
procedure TsAlphaHints.OnCheckTimer(Sender: TObject); begin ... // Lasse Application.HintPause := Manager.FOldHintPause;
Otherwise I could not change it.
August 22, 2020 at 9:18 am #69309HeDiBoParticipantDon’t remember exactly but I had to put a comment here:
procedure TsAlphaHints.OnCheckTimer(Sender: TObject); begin ... // Lasse Application.HintPause := Manager.FOldHintPause;
Otherwise I could not change it.
Which shows, timing of hints needs a overhaul.
At the end ofprocedure TsShowTimer.Init(HintForm: TacCustomHintWindow; w, h: integer);
there is a very suspicious:
Application.HintPause := 100;
August 23, 2020 at 1:07 pm #69316August 23, 2020 at 1:28 pm #69318HeDiBoParticipantBecause of the awful mess this forum system makes of the user’s contributions, I had to redo the change request in #69317
August 24, 2020 at 7:55 pm #69334SupportKeymasterHello, Dick!
Sorry, I was trying to fix broken record with your requests, but have deleted it accidentally.
____>> HintPause is totaly screwed in TsAlphaHints. So much that it is almost senseless to set Application.HintPause
This pause works as expected. Maybe it doesn’t work with disabled controls (new HandleDisabledCtrls property), I will check it.
I will think about the HintShortPause property. This short timing is defined by system. System is showing a hint, the package just add skinning there.
August 25, 2020 at 9:31 am #69345HeDiBoParticipantHintPause (the timing before a hint appears) becomes almost none. You can see that in the GIF of #69251
HintHidePause (the timing of the hint showing if mouse doesn’t move) should really be depending on the time needed to read the hint. Because your hints can be quite complex, this is more necessary than ever.
HintShortPause should really be a published property of TsAlphaHints. Hints come in rapid succession if a hint follows another one. To temper that, the HintShortPause timing is used.By publishing the timing properties in TsAlphaHints one can easily adjust the timing carefully and it looks nice and logical.
August 29, 2020 at 6:08 pm #69375SupportKeymasterI have made several test-apps concerning delays in Delphi’s hints and see that some problems exists there (without AlphaSkins). The Application.HintPause works good if value is smaller than 500 ms. If this value is bigger then real value of the first showing delay is changed randomly. For example, if I set 550 ms there, then delay may be 2 or more seconds. I have checked a code in the RAD Studio VCL and I see a reason of this issue, seems. Hint is cancelled in the TApplication.HintMouseMessage(Control: TControl; var Message: TMessage), but shouldn’t. After a hint canceling a new timer is started again and this situation may be repeated.
So, AlphaHint is a skin for standard hints and same delay used there (Application.HintPause)Also, HintShortPause used in AlphaHints and works correctly except on disabled controls when HandleDisabledCtrls property is True. At this moment I haven’t idea how to add a small delay before showing of hint there.
August 30, 2020 at 1:02 pm #69389HeDiBoParticipantTiming is only a big problem if HandleDisabledCtrls is True.
Especially the timing problem shown at #69251 goes away if this property is set to False.September 7, 2020 at 4:02 pm #69440HeDiBoParticipantThings have surely changed in AC 15.15
Now hints will not show without pause (that’s good). But they may not show at all (that’s bad).
As always: only a problem if HandleDisabledCtrls is True -
AuthorPosts
- You must be logged in to reply to this topic.