Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Explicacion Copy Paste Undo de Clipboard (https://www.clubdelphi.com/foros/showthread.php?t=12834)

digital 29-07-2004 00:19:15

Explicacion Copy Paste Undo de Clipboard
 
hola listero...
quien me puede explicar como funcion el Copy paste Undo de Clipboard..

tengo una pantalla que contiene 5 Edit y quiero hacer un menu de Edicion donde contenga Copiar,Pegar,Seleccionar,cortar... en los edit...

roman 29-07-2004 00:21:24

Pero, ¡un Edit ya tiene un menú con tales opciones!

:confused:

digital 29-07-2004 00:31:49

pero quiero poner estas opcione en un menu principal.

roman 29-07-2004 00:46:04

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

roman 29-07-2004 01:31:29

De hecho, usando un TActionList es mucho más fácil.

En el ActionList escoges la opción "New standard action" del menú contextual y de la lista que te presenta escoges las acciones de edición. El ActionList se encarga de todo: determinar si el control activo es un Edit (o un Memo supongo) y habilitar o inhabilitar los ítems del menú según sea el caso.

// Saludos

digital 29-07-2004 17:06:09

Gracias Roman.. por tu ayuda..... funciano bien con el actionlis....

lostprophets 13-03-2007 22:24:40

muchisimas gracias man yo solo tenia este codigo para cortar con variaciones para pegar

Código Delphi [-]
if Edit1.Sellength>0 then
edit1.cuttoclipboard;


La franja horaria es GMT +2. Ahora son las 21:54:03.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi