PDA

Ver la Versión Completa : Explicacion Copy Paste Undo de Clipboard


digital
29-07-2004, 00:19:15
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ú


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

if Edit1.Sellength>0 then
edit1.cuttoclipboard;