Las operaciones que aparecen en el menú contextual de un Edit pueden realizarse por medio de métodos del mismo Edit:
CutToClipboard - Cortar
CopyToClipboard - Copiar
PasteFromClipboard - Pegar
Clear - Eliminar
Undo - Deshacer
Podrías entonces manejar así los eventos de tu menú
Código Delphi
[-]
procedure TForm1.Cut1Click(Sender: TObject);
begin
if (ActiveControl is TEdit) and TEdit(ActiveControl).Enabled then
TEdit(ActiveControl).CutToClipboard;
end;
procedure TForm1.Copy1Click(Sender: TObject);
begin
if (ActiveControl is TEdit) and TEdit(ActiveControl).Enabled then
TEdit(ActiveControl).CopyToClipboard;
end;
procedure TForm1.Paste1Click(Sender: TObject);
begin
if (ActiveControl is TEdit) and TEdit(ActiveControl).Enabled then
TEdit(ActiveControl).PasteFromClipboard;
end;
procedure TForm1.Delete1Click(Sender: TObject);
begin
if (ActiveControl is TEdit) and TEdit(ActiveControl).Enabled then
TEdit(ActiveControl).Clear;
end;
Nota que cada evento verifica si el control activo (el que tiene el foco) es un Edit y sí está habilitado.
También podrías usar un TActionList para codificar los eventos y usar su evento OnUpdate para habilitar o inhabilitar las opciones en tu menú de acuerdo a sí el control activo es o no un Edit y si hay algo seleccionado o no.
// Saludos