Attached is a project that has two forms. The first has a TAction with copy, cut and paste actions with short cuts assigned and linked to a TMainmenu. An TEdit control is also on the form. A second form is created via a TButton and is displayed via the ShowModal method. On the second form is a TImageEnVect control, TEdit and a TButton that sets the properties for a note annotation. You can click on the TImageEnVect and create the note annotation and edit its text with the cut/copy and paste short cut keys but if you change the .ShowModal to .Show you loose the cut/copy and paste short cut key functionality for the note annotation. The TEdit control works as it should on the second form.
I do not know why the TEdit action functions with a modal form, but does not work when using a modeless form. Nigel may know or perhaps other problem websites like Stackoverflow may provide and answer. There is no TImageEnVect action that copies the vectorial objects text to the clipboard so I added come code to TImageEnVectorial events to copy the selected object's text to the clipboard. This seems to solve your problem.
The code I used was this:
procedure TForm2.ImageEnVect1TextEdit(Sender: TObject; hobj: Integer; VisualObject: TObject);
var
i: integer;
begin
for i := 0 to ImageEnVect1.SelObjectsCount - 1 do
begin
HObj := ImageEnVect1.GetObjFromIndex(i);
if ImageEnVect1.IsSelObject(HObj) then
begin
if HObj <> -1 then
begin
Clipboard.AsText := ImageEnVect1.ObjText[HObj]
end;
end;
end;
end;
I also added the code to two other TImageEnVect events.
So for the moment, the function you are trying to achieve works, but it does not explain the modeless problem with the action.
The text object in ImageEnVect is simply a TEdit, so I'm not sure why it is behaving differently from a TEdit on the form. Presumably the key presses are being eaten, but I'm not seeing this occur in the parent components.
We'll need to investigate in more depth at a later date.
Sorry it is not possible to comment on the implementation of specific features and bug fixes. We have many items on our to-do list and work through them as practically as possible.
I could not find any cause for this issue in my initial invesigation, so a more in-depth look will be much more time consuming. This makes it harder to prioritize above issues that are more commonly encountered and can be resolved quickly.
I understand completely but please take in account that this problem has existed since version 1 for our clients. We had reported back then but we were not been able to reproduce it outside of our application. Is only now that we have determined a method to demonstrating this to you without our own code. I hope this pleads our case for a resolution sooner than later.