How do I disable "cursor beyond end of line"? - delphi

How do I deactivate Delphi's "Cursor beyond end of line" feature? When I click in the empty space to the right of a line, or when I navigate to a line with the arrow keys, I want the cursor to be at the line's real end, not in the "virtual space".

AFAIK, you cannot. The code editor has always had that behavior built-in. You can tell it to not go past End-Of-File, but not End-Of-Line.

When possible you can set a macro on one of the mouse buttons to hit the combo "left-click" and "End" when clicked. Not the ideal situation but it does the trick.

Related

Tab replaced to space automatically in Delphi11

I'm using delphi 11.0(28.0.42600.6491).
Typing some tabs in code editor, and after a short pause, typing any character.
Then, I found tabs are replaced to space automatically.
And it seems to be happened when input character after already exists line.
My problem is like GIF image(animated).
I don't want that. tabs must be tabs strictly.
Is there any setting or way to do that?
The IDE Settings "Use tab character" and "Keep trailing blanks". Note you would also need to uncheck "Cursor through tabs" to see the cursor jump otherwise it will go space by space through tabs.
The "Keep trailing blanks" setting is really "Keep trailing whitespace" and deletes any tabs and spaces at the end of lines after a short delay. The cursor stays past the end of the line so if you type something it then puts in spaces.
This is a bug (in my opinion) that started in 10.4. I have reported it as RSP-36776: https://quality.embarcadero.com/browse/RSP-36776

At design time, can you prevent components from moving on the first selection click?

All of our forms tend to have things get a few pixels out of place because when we click a component to modify the properties, there is a tendency to have the component move if the mouse is still moving the tiniest bit when we select a component.
Is there a setting that makes it so you can't move a component that isn't already selected? (Requiring a second intentinoal click to actually move things.)
You can enable "Lock controls" from the "Edit" menu, then it won't move when you click it, but it will of course remain locked also at the second click.
However, at least it will save you from the accidental moves just because you need to select the control
I find uncheck (use designer guidline) can prevent the problem,
but you will not see the alignment line.
tools->options->Form Designer

Delphi XE7: disable virtual text space

is it possible to disable the annoying virtual space in editor?
If I click somewhere right on a line (behind last character) I want to get the cursor just behind the last character. Similary, if I am at the end of a line (just after the last char) and push right arrow I want to jump the next line before the first character.
Lot of thanks!

UITextVew tap in the middle of a word and place the cursor there

In the common behavior of UITextVew if the user taps in the middle of a word the cursor gets placed at the beginning of that word, or in other cases it selects the whole word.
I would like to entirely disable this and just let the user tap anywhere in the UITextVew and place the cursor just there.
Also I would appreciate to know if this is possible too for a UIWebView with contentEditable enabled.
Thanks in advance.
To get this behavior you have to build the text view yourself using core text. Or your only support iOS7. There you will have TextKit.

Cause 'hint' to refire on listview as I move over items

Sure I've seen this done before but off-hand I can't find any examples.
I've got a TListView, set in 'report' viewstyle. It has about half a dozen subitems, and one thing we'd like to do is have the 'hint' (tooltip) on the listview dynamically show another field of data. That is, each time you move the mouse over any given row, the 'hint' would show some text relevant to that particular row.
I'm partway there - I can do this using the OnInfoTip method, but unfortunately once a tip has appeared, Windows seems to decide that I don't need to see a hint for the listview again until I move the mouse away from the listview and then back 'over' it again. Simply moving the mouse down to the next row, all-the-time keeping the mouse over the control, doesn't persuade the program to display the new hint.
Just to be clear - I've got OnInfoTip working so that the program does display the right hint relevant to the item I first moved the mouse over. Changing the hint text isn't the issue. The problem is that moving the mouse to another item in the listview doesn't cause the software to show a new hint. (Hope that makes sense).
Is there some proper way of getting this behaviour to work, or am I going to end up doing something icky with mouseovers and then manually drawing a hintbox (etc)?
check the following link:
Display Custom Hints for TListView Sub Items
Edit:
I just checked it now on delphi7 it's showing the hint for every row dynamically after moving the mouse on the listview.
Offtopic: This is simple in Virtual Treeview component, it is build-in feature.
i was using the OnInfoTip event (i didn't need hints for the subitems). the hint was "flashing" (show/hide/show/hide/show/hide/show/hide). found the listview's ShowHint was false. set it to True and it worked as it should.

Resources