como crear los botones copiar, pegar, cortar

468 views
Skip to first unread message

Oswal Noguera

unread,
Jun 13, 2017, 6:42:02 PM6/13/17
to Comunidad de Visual Foxpro en Español
buenas quiero crear la función copiar, pegar, cortar dale click derecho al mouse, en el menu files ? se puede eh estado leyendo por ahí pero no explica bien y confunden... gracias porfavor. tengo vfp 9.0

Allan Raúl Acuña

unread,
Jun 13, 2017, 6:50:45 PM6/13/17
to Comunidad de Visual Foxpro en Español
Allan Raúl Acuña ha compartido un archivo de OneDrive con usted. Para verlo, haga clic en el vínculo siguiente.

Hola Colega, adjunto te mando un ejemplo para que no batalles.


Fijate en el metodo RighClick del Editbox, solo ponle el siguiente comando para llamar al menu que esta en el proyecto.


DO edtshort.mpr WITH THIS


Saludos cordiales.

Lic. Allan Raúl Acuña
Analista Programador
msn= allan...@hotmail.com
skype= NicEasySoft
            +(505) 8 999 8950
Managua, Nicaragua
Centroamerica

De: publice...@googlegroups.com <publice...@googlegroups.com> en nombre de Oswal Noguera <ceroc...@gmail.com>
Enviado: martes, 13 de junio de 2017 04:42:02 p.m.
Para: Comunidad de Visual Foxpro en Español
Asunto: [vfp] como crear los botones copiar, pegar, cortar
 

Oswal Noguera

unread,
Jun 13, 2017, 6:55:36 PM6/13/17
to Comunidad de Visual Foxpro en Español
hermano gracias, y disculpe mi ingorancia, pero el menu que tengo que llamar tengo que crearlo ? y en que formulario lo llamaria, en el principal mio o en donde lo voy a usar

Allan Raúl Acuña

unread,
Jun 13, 2017, 7:01:28 PM6/13/17
to Comunidad de Visual Foxpro en Español

Tranquilo estamos para aprender y compartir.


Solo agregalo en tu proyecto y cualquier control de edicion o textbox lo puedes llamar desde el metodo RighClick.


DO edtshort.mpr WITH THIS


Fijese en el proyecto en Menu esta agregado el menu llamado: edtshort

Saludos cordiales.


Lic. Allan Raúl Acuña
Analista Programador
msn= allan...@hotmail.com
skype= NicEasySoft
            +(505) 8 999 8950
Managua, Nicaragua
Centroamerica
Enviado: martes, 13 de junio de 2017 04:55:36 p.m.

Para: Comunidad de Visual Foxpro en Español
Asunto: Re: [vfp] como crear los botones copiar, pegar, cortar
 

Oswal Noguera

unread,
Jun 13, 2017, 7:02:27 PM6/13/17
to Comunidad de Visual Foxpro en Español
eh y no puedo descargar el archivo no lo tienes por mega. el onedrive esta maluco me dice error...


El martes, 13 de junio de 2017, 18:20:45 (UTC-4:30), ALLAN R. ACUÑA escribió:

Allan Raúl Acuña

unread,
Jun 13, 2017, 7:06:28 PM6/13/17
to Comunidad de Visual Foxpro en Español
Allan Raúl Acuña ha compartido un archivo de OneDrive con usted. Para verlo, haga clic en el vínculo siguiente.

Listo, cambiale el nombre a la extensión.


Saludos


Allan


Enviado: martes, 13 de junio de 2017 05:02:26 p.m.

Para: Comunidad de Visual Foxpro en Español
Asunto: Re: [vfp] como crear los botones copiar, pegar, cortar
 
Message has been deleted

Oswal Noguera

unread,
Jun 13, 2017, 7:29:11 PM6/13/17
to Comunidad de Visual Foxpro en Español

me sale eso hermano... no puedo descargarlo...
Sin título.png

Elides Paredes

unread,
Jun 13, 2017, 8:04:41 PM6/13/17
to Comunidad de Visual Foxpro en Español
Amigo Oswal 

El procedimiento RightClick del cuadro de edición tiene ésto
*!* DO edtshort.mpr WITH THIS

debes modificarlo para que lo encuentre, es decir colocar la ruta. algo así.
DO "c:\temporales\vfp\menu rightclick\menu_edicion\edtshort.mpr" WITH THIS

Y Funciona muy bien.. Algo que esperaba del Allan.. Es otro maestro del grupo. Saludos... Y gracias por compartir.

Saludos a todos
Elides Paredes.

Víctor Hugo Espínola Domínguez

unread,
Jun 13, 2017, 8:15:12 PM6/13/17
to publice...@googlegroups.com
Prueba si puedes bajar

Saludos,
Víctor.
Lambaré - Paraguay.

Menu_Edicion._rar

Elides Paredes

unread,
Jun 13, 2017, 8:54:00 PM6/13/17
to Comunidad de Visual Foxpro en Español
Saludos de nuevo..

Ahora te voy a adjuntar el código que yo utilizo en un cuadro de edición. Creo que es mas sencillo de hacer. Observa también debes buscar las imágenes que se muestran al lado del Menú. Te anexo algunas imágenes en el archivo rar, sin embargo puedes poner las que mas te gusten. Y además de copiar cortar y pegar puedes insertar la fecha, cambiar los colores de las letras, del fondo, etc. Además es fácil llamar a un procedimiento, puse como ejemplo hablar. Seleccionas algo y el computador lo lee. 
Hay ejemplos muy pero muy buenos en el portal comunidad de programadores .. aqui mismo...  del Maestro Luis María.




Este es el código

* Procedimiento RightClick
*------------------------------

lnRow  = MROW()+0.5
lnCol    = MCOL()

* Teoría del Menú contextual 
* --------------------------------
*!* Color Código
*!* Black N
*!* Blue B
*!* Brown GR
*!* Cyan BG
*!* Green G
*!* Magenta RB
*!* Red R
*!* White W
*!* Yellow GR+

*!* Elemento de la lista Sentido
*!* 1 elemento deshabilitado
*!* 2 elemento habilitado
*!* 3 Borde
*!* 4 Título
*!* 5 mensaje
*!* 6 Item seleccionado
*!* 7 indicador de tecla de acceso directo
*!* 8 Sombra
*!* 9 Control Activado
*!* 10 control deshabilitado,

* Ejemplo de colores 
*!* DEFINE POPUP Shortcut COLOR ;
*!*  G/W* ;
*!*  RGB(0,0,255,255,255,255),,,, ;
*!*  RGB(255,255,255,128,128,0)
*!*  RGB(128,255,255) azul claro
*!*  RGB(197,252,228) Azul mas claro 
*!*  RGB(0,0,0)  Negro
  

 *This.ForeColor = RGB(0,0,255)

DEFINE POPUP mPoPup;
       shortcut  FONT '@Microsoft JhengHei UI', 16  ;
       STYLE 'BI' COLOR ;
       G/W*, ;
               ,;
               ,;
       RGB(0,0,255,255,255,0),;
               ,;
       W+/G  TITLE 'Seleccione una Opción'  ;
       FROM lnRow, lnCol 

SET MARK  OF POPUP mPoPup TO  CHR(3)             
*        RGB(197,252, 228,0,0,0)       
 *  COLOR   GR+ / W *,  *  , W / B, N /W , , + W/GR             
*   FONT "@Microsoft JhengHei UI , 12" STYLE "BI";  
*     SHADOW COLOR SCHEME 4     
* COLOR R/W*, W/B ,R/W  ,R/W ,R/W ,GR+/R

DEFINE BAR 1  OF mPoPup  PROMPT "Leer con Narrador seleccionado" MARK CHR(3) ;
PICTURE "c:\hielo\bmp\boton_Rojo.PNG" 

DEFINE BAR 2  OF mPoPup  PROMPT "Insertar Fecha" MARK CHR(3) ;
PICTURE "c:\hielo\bmp\boton_Rojo.PNG" 
*  COLOR R/W*, W/B , , , ,GR+/R
  
DEFINE BAR _med_cut OF mPoPup PROMPT "Cor\<tar" ; 
    KEY CTRL+X, "Ctrl+X" ; 
    MESSAGE "Cortar el texto y ponerlo en el portapapeles" ;
    PICTURE "c:\hielo\bmp\_cut.bmp"

DEFINE BAR _med_copy OF mPoPup PROMPT "\<Copiar" ; 
    KEY CTRL+C, "Ctrl+C" ; 
    MESSAGE "Copia la selección al portapapeles"  ;
    PICTURE "c:\hielo\bmp\_copy.bmp"

DEFINE BAR _med_paste OF mPoPup PROMPT "\<Pegar" ; 
    KEY CTRL+V, "Ctrl+V" ; 
    MESSAGE "Pega el texto al portapapeles"  ;
    PICTURE "c:\hielo\bmp\_paste2.bmp"

DEFINE BAR _med_slcta OF mPoPup PROMPT "Se\<lecciona Todo" ; 
    KEY CTRL+A, "Ctrl+A" ; 
    MESSAGE "Selecciona todo el texto"  ;
    PICTURE "c:\hielo\bmp\_ok3.bmp"
    
DEFINE BAR _med_undo  OF mPoPup PROMPT "\<Deshacer" ;
    KEY CTRL+Z, "Ctrl+Z" ;  
       MESSAGE "Deja todo como estaba"  ;
    PICTURE "c:\hielo\bmp\_undo.bmp"
    
DEFINE BAR 3  OF mPoPup  PROMPT "Mayúscula Inicial" MARK CHR(3) ;
PICTURE "c:\hielo\bmp\Boton_Rojo.PNG" 
*  COLOR R/W*, W/B , , , ,GR+/R    
 
opcion = 0

ON SELECTION BAR 1 OF mPoPup  opcion = 1
ON SELECTION BAR 2 OF mPoPup  opcion = 2
 ON SELECTION BAR 3 OF mPoPup  opcion = 3
ACTIVATE POPUP mPoPup  


DO CASE 
CASE  opcion = 1
Thisform.hablar (This.Parent.detalle1) && Lo mando con el nombre del objeto

CASE  opcion = 2
 _cliptext = TRANSFORM (DATETIME() )
KEYBOARD '{CTRL+V}'

CASE  opcion = 3
 _cliptext =  PROPER(this.SelText)
KEYBOARD '{CTRL+V}'

ENDCASE 

*  diga = this.SelText
* lo.SelText = UPPER(lo.SelText)

*!* SelStart
*!* Devuelve el punto inicial de una selección de texto realizada por el usuario 
*!* en un área de entrada de texto de un control o indica la posición del punto
*!* de inserción si no hay texto seleccionado. También especifica el punto 
*!* inicial de una selección de texto en un área de entrada de texto 
*!* de un control. No está disponible en tiempo de diseño; es de lectura
*!*  y escritura en tiempo de ejecución.
*!*  
  
*!* SelLength (Propiedad)Vea también
*!* Se aplica a: ComboBox | EditBox | Spinner | TextBox
*!* Devuelve el número de caracteres que el usuario selecciona 
*!* en un área de entrada de texto de un control o especifica el 
*!* número de caracteres que se van a seleccionar. No está disponible
*!* en tiempo de diseño; es de lectura y escritura en tiempo de ejecución.



*!* SelText
*!* Devuelve el texto seleccionado por usuario en una área de entrada 
*!* de texto de un control o devuelve una cadena de caracteres 
*!* vacía ("") si no hay caracteres seleccionados. Especifica la cadena
*!* que contiene el texto seleccionado. No esta disponible en tiempo de 
*!* diseño; es de lectura y escritura en tiempo de ejecución.





 Espero te sea útil. 

Elides Paredes
Barquisimeto Venezuela

Elides Paredes

unread,
Jun 13, 2017, 8:56:43 PM6/13/17
to Comunidad de Visual Foxpro en Español

Olvidé las imágenes..

Foro._rar

Oswal Noguera

unread,
Jun 13, 2017, 10:38:11 PM6/13/17
to Comunidad de Visual Foxpro en Español
gracias victor mil gracias entendi con ese projecto, explicando por escritura soy medio tapado pero con practica si entiendo mill veces. eso sirve tambien para un formulario ?. en general en vez de hacerlo por textbox por textbox.

Oswal Noguera

unread,
Jun 13, 2017, 11:11:48 PM6/13/17
to Comunidad de Visual Foxpro en Español
gracias a todos muchachos por responder...


El martes, 13 de junio de 2017, 18:12:02 (UTC-4:30), Oswal Noguera escribió:

Allan Raúl Acuña

unread,
Jun 14, 2017, 5:24:37 PM6/14/17
to Comunidad de Visual Foxpro en Español

Si tus textbox los tienes fuera de una clase tendras que ponerselos a cada uno. Lo mas recomendable es tener una clase y alli poner todo.


Saludos cordiales.

Lic. Allan Raul Acuna

Analista Programador
msn= allan...@hotmail.com
skype= NicEasySoft
            +(505) 8 999 8950
Managua, Nicaragua
Centroam??rica

Enviado: martes, 13 de junio de 2017 08:38:11 p.m.

Elides Paredes

unread,
Jun 14, 2017, 10:13:59 PM6/14/17
to Comunidad de Visual Foxpro en Español
Si, amigo Allan. 

Gracias por el comentario, el problema es que no sabía hacerlo y ya tiene tiempo así. Pero debo admitir que de esa forma es mejor, Incluso en mi caso son 3 cuadros de edición por lo que me veo obligado a repetir el código 3 veces.

Ese ha sido mi problema siempre, veo algo mejor y tengo que rehacer muchas cosas pero.. No veo otra opción. Au
Saludos 

Elides Paredes
Aunque "Me atreví" a publicar mi código porque lo veo mas sencillo de aplicar y entender. Pero igualmente gracias tu código se ve mas profesional también.


Reply all
Reply to author
Forward
0 new messages